在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后打印。
本文永久更新地址://m.ajphoenix.com/linux/25729.html