Ребята, в чем может быть проблема ? см. программу:
#include <pthread.h> #include <sched.h> #include <unistd.h> #include <stdio.h>
#include <string> #define THREAD_NUM 50
string getString() { string mvDestCFString; mvDestCFString += "Thread: \n"; return mvDestCFString; }
void *threadRoutine(void *) { while(1) { string s; s = getString(); printf("%s", s.c_str()); sched_yield(); } }
void main(void) { for(unsigned long i=0;i< THREAD_NUM;i++) { pthread_t XThreadId; pthread_create( &XThreadId, NULL, threadRoutine, NULL); } while(1) { string s; s = getString(); printf("%s", s.c_str()); sched_yield(); } }
Информация по системе: Dual PIII 800Mhz, 1.5GB memory kernel 2.2.14-5.0smp RH 6.2
после некоторого времени программа падает коркой
В чем может быть проблема ?