볼거리, 읽을거리, 놀거리
캐럿보이넷 :: pthread 버그인가??
장안동베짱e
2005. 7. 5. 22:47
[CODE]#include <stdio.h>
#include <pthread.h>
#include<unistd.h>[/CODE] class CController { public: static void* Run(void *arg); static void* Run2(void *arg); }; void* CController::Run(void *arg) { printf("1\n"); return 0; } void* CController::Run2(void *arg) { printf("2"); return 0; } int main() { pthread_t t_id; CController *session; session = new CController; pthread_create(&t_id, NULL, session->Run, (void *)session); sleep(1); pthread_create(&t_id, NULL, session->Run2, (void *)session); while(1); return 0; } |
이렇게 하면 뭐가 출력될거라 생각하세요?
전 당연히
1
2
2
가 출력되고 무한루프에 들어갈줄알았는데..
1만 출력되고 무한루프에 빠지는군요.. -_-a;;
Run과 Run2의 차이는 보시는 바와 같이 \n이 있고 없고의 차이 입니다.
뭐가 문젠지 아시는분 답변해주세요-