[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

가 출력되고 무한루프에 들어갈줄알았는데..
1만 출력되고 무한루프에 빠지는군요.. -_-a;;

Run과 Run2의 차이는 보시는 바와 같이 \n이 있고 없고의 차이 입니다.

뭐가 문젠지 아시는분 답변해주세요-
Posted by 장안동베짱e :