sleep将引起线程挂起直到指定的时间到达或者一个信号传递给调用该sleep的线程并且它的动作是唤醒信号捕捉函数或者终止进程,不会影响到整个进程。
1 #include <stdio.h> 2 #include <pthread.h> 3 #include <unistd.h> 4 5 void printmsg() 6 { 7 while(1){ 8 printf("test "); 9 sleep(4); 10 } 11 } 12 13 void printms() 14 { 15 while(1){ 16 printf("ms test "); 17 sleep(1); 18 } 19 } 20 21 int main() 22 { 23 pthread_t tid0; 24 pthread_t tid1; 25 26 pthread_create(&tid0, NULL, (void *)printmsg, NULL); 27 pthread_create(&tid1, NULL, (void *)printms, NULL); 28 29 pthread_join(tid0, NULL); 30 pthread_join(tid1, NULL); 31 return 0; 32 }
test
ms test
ms test
ms test
ms test
test
ms test
ms test
ms test
ms test
test
ms test
ms test
^C