跟刘峰六学C语言(5) 线程栅栏
来源:互联网 发布:java sleep用法 编辑:程序博客网 时间:2024/06/05 22:34
某些并行计算需要面临某些在计算进行前的某些单通瓶颈点,这种情况下,当然可以使用信号量的方式来进行处理,但是还存在着另外的一种处理方式是更加方便的,它就是:栅栏(在pthread库里面被定义成为类型 pthread_barrier_t),下面我们来看一段程序作为示例
这段程序产生出许多个线程,并且分配给每个线程计算矩阵乘法的一部分,然后每个线程使用这次计算的结果,继续进行下一步的计算:另一个矩阵的乘法
几点关于API的说明:
- barrier 变量必须在最开始声名为全局变量
- barrier 变量的初始化必须在main函数里进行初始化
- 在点上每一个线程都会等待它的对端完成工作
注意
在程序顶部的宏定义 _XOPEN_SOURCE 是非常重要的;如果没有这个变量,那么barrier类型就会在pthread.h中被屏蔽掉,这个定义必须在所有的头文件引用之前被定义出来
- 跟刘峰六学C语言(5) 线程栅栏
- 跟刘峰六学C语言(3) 信号量
- 跟刘峰六学C语言(1)
- 跟刘峰六学C语言(2)
- C语言排序(7)___修栅栏
- 线程同步栅栏
- C语言中的#跟##用法
- C语言进阶知识点(持续跟新)
- 跟我一起学C语言(第二天)
- 跟我学C语言(第三天)
- 跟我学C语言(第四天)
- 跟我一起学C语言(第五天)
- 跟我学C语言(第六天)
- 跟我一起学C语言(第七天)
- 跟我学C语言(第八天)
- 跟我一起学C语言(第九天)
- 浅谈库,进程,线程---C语言学习(5)
- C语言笔记(进程,线程)
- xp系统安装_ghost的使用(图解)
- Tomcat初探
- org.apache对javamail的封装
- 产生多于的class$1.class的原因
- Java中的反射学习及反射解耦应用
- 跟刘峰六学C语言(5) 线程栅栏
- 如何为C#winform程序添加最小化到托盘的功能
- MyEclipse快捷键大全
- 士大夫急口令急口令
- 小写金额转大写c++
- 教你如何添加MyEclipse自动生成类头部的author等注释
- 教你如何添加MyEclipse自动生成类头部的author等注释
- Oracle exp/imp导出导入工具的使用
- 计算机串口和并口