红联Linux门户
Linux帮助

验证linux下线程的同步运行

发布时间:2016-11-04 14:52:40来源:linux网站作者:Bing_X29
在Linux下创建两个线程,验证两个线程为同步运行。
 
/* 
********************************************
* File Name: 1.pth_create.c 
* Function : 1)  
*            2)  
* Author   : Xubing  
* Created Time: 2016年11月3日 
********************************************
*/  
#include <stdio.h>  
#include <stdlib.h>  
#include <pthread.h>  
void Thread1()    //线程1  
{  
sleep(2);    //延时2s,观察线程2的运行结果  
printf("Thread1 is running\n");  
}  
void Thread2()    //线程2  
{  
int i;  
for(i = 0; i < 5; i++)    
{  
printf("Thread2 is running\n");  
}  
}  
int main()  
{  
int ret1;  
int ret2;  
pthread_t id1;  
pthread_t id2;  
ret1 = pthread_create(&id1, NULL, (void *)Thread1, NULL); //创建两个线程  
ret2 = pthread_create(&id2, NULL, (void *)Thread2, NULL);  
if(ret1 < 0)  
{  
printf("Error 1\n");  
}  
if(ret2 < 0)  
{  
printf("Error 2\n");  
}   
pthread_join(id1, NULL);  
pthread_join(id2, NULL);  
return 0;  
}  
 
结果:线程2打印5次,线程1在线程2打印5次后稍停留片刻。
 
而在c程序中,先创建了线程1,而运行结果确实线程2先结束,证明两个线程同时运行,线程1因延时1s在线程2后打印。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25729.html