UNIX环境高级编程——线程属性之并发度
2013-07-17 15:48
471 查看
并发度控制着用户级线程可以映射的内核线程或进程的数目。如果操作系统的实现在内核级的线程和用户级的线程之间保持一对一的映射,那么改变并发度并不会有什么效果,因为所有的用户级线程都可能被调度到。但是,如果操作系统的实现让用户级线程到内核级线程或进程之间的映射关系是多对一的话,那么在给定时间内增加可运行的用户级线程数,可能会改善性能。
pthread_setconcurrency函数可以用于提示系统,表明希望的并发度。
pthread_setconcurrency函数设定的并发度只是对系统的一个提示,系统并不保证请求的并发度一定会被采用。如果希望系统自己决定使用什么样的并发度,就把传入的参数level设为0.这样,应用程序调用level参数为0的pthread_setconcurrency函数,就可以撤销在这之前level参数非零的pthread_setconcurrency调用所产生的作用。
pthread_setconcurrency函数可以用于提示系统,表明希望的并发度。
#include <pthread.h> int pthread_getconcurrency(void); //返回值:当前的并发度 int pthread_setconcurrency(int level); //返回值:若成功则返回0,否则返回错误编号pthread_getconcurrency函数返回当前的并发度。如果操作系统当前正控制着并发度(即之前没有调用过pthread_setconcurrency函数),那么pthread_getconcurrency将返回0。
pthread_setconcurrency函数设定的并发度只是对系统的一个提示,系统并不保证请求的并发度一定会被采用。如果希望系统自己决定使用什么样的并发度,就把传入的参数level设为0.这样,应用程序调用level参数为0的pthread_setconcurrency函数,就可以撤销在这之前level参数非零的pthread_setconcurrency调用所产生的作用。
相关文章推荐
- UNIX环境高级编程——线程属性之并发度
- UNIX环境高级编程——线程属性之并发度
- UNIX环境高级编程——线程属性
- UNIX环境高级编程——线程属性之分离属性
- UNIX环境高级编程(阅读笔记)——线程属性
- UNIX环境高级编程——线程属性
- UNIX环境高级编程——线程限制 && 线程属性
- UNIX环境高级编程——线程属性之分离属性
- UNIX环境高级编程——线程属性
- UNIX环境高级编程——线程属性之分离属性
- UNIX环境高级编程(十二)线程控制
- unix环境高级编程-线程控制(2)
- UNIX环境高级编程——线程和fork
- (九) 一起学 Unix 环境高级编程 (APUE) 之 线程
- UNIX环境高级编程 第11章 线程
- UNIX环境高级编程 第十一章 线程
- unix 环境高级编程 线程取消点
- UNIX环境高级编程学习之第十一章线程-使用读写锁
- Unix高级环境编程学习之-----线程pthread_create
- UNIX环境编程学习笔记(27)——多线程编程(二):控制线程属性