验证linux下线程的同步运行
2016-11-04 00:14
176 查看
在linux下创建两个线程,验证两个线程为同步运行
结果:线程2打印5次,线程1在线程2打印5次后稍停留片刻。
而在c程序中,先创建了线程1,而运行结果确实线程2先结束,证明两个线程同时运行,线程1因延时1s在线程2后打印。
/* ************************************************************************** * 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后打印。
相关文章推荐
- Linux进程线程学习笔记:运行新程序
- linux下线程的同步示例
- linux 不同进程间和线程间的同步
- linux下巧用ps得到运行线程个数和线程启动时间
- 使程序在Linux下后台运行(验证可行)
- Linux 用户线程间同步
- Linux平台用C++实现信号量,同步线程
- Linux 内核线程间同步
- Linux多线程编程(不限Linux)——本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。
- Linux线程及同步
- linux学习——前期一些问题验证(文件描述符、线程)
- 介绍Linux下面线程的操作、多线程的同步和互斥
- linux下线程的同步
- Unix/linux进程及线程间同步技术总结【学习总结,请勿吐槽。。。】
- singleton及多线程验证,所有线程完成才继续运行WaitHandle
- Linux平台用C++实现信号量,同步线程
- 嵌入式Linux应用程序开发——多线程3(线程的同步——条件变量)
- 介绍Linux下面线程的操作、多线程的同步和互斥
- linux下的线程及同步机制(2)
- Linux下线程的同步