您的位置:首页 > 运维架构 > Linux

验证linux下线程的同步运行

2016-11-04 00:14 176 查看
在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后打印。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: