Это мой код, я скомпилировал его с помощью:
gcc thread.c -lpthread
Он не выдал никаких ошибок или предупреждений. Но когда я запускаю его, программа ничего не печатает.
Платформа: Ubuntu 11.10 64-разрядная версия gcc 4.6.1
Статус выхода: 0
При отладке я обнаружил, что он печатает hello
, как я и ожидал.
Вот мой код:
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void *loopPrint(void *ptr)
{
char *p = (char *)ptr;
while (1)
{
printf("%s\n", p);
}
}
void *pClock(void *ptr)
{
sleep(3);
exit(0);
}
int main()
{
pthread_t showMsg, clock;
int main_pth, wait_pth;
char *msg = "Hello";
main_pth = pthread_create(&showMsg, NULL, loopPrint, (void *)msg);
wait_pth = pthread_create(&clock, NULL, pClock, NULL);
pthread_join(main_pth, NULL);
pthread_join(wait_pth, NULL);
return 0;
}