您的位置:首页 > 其它

POSIX对pthread的选项和限制

2012-03-27 16:36 232 查看
pthread适用于多个领域。在高性能的计算程序中可以用它来支持多个循环的并行分解,实时应用程序可以用它支持并发的实时输入/输出,在数据库和网络服务程序中可以轻而易举地用它来支持客户的并发访问,商业或者软件开发程序在分时系统中可以使用其并行和并发的优点。

POSIX关于线程的选项

通过定义一套特征检测宏,pthreads标准允许用户决定在系统中应用哪种可选功能。任何pthreads的实现都会通过如下三种形式告诉用户支持哪种选项:

1 在POSIX文献中做出支持选项的正式声明,用户就可以使用这些帮助信息设计自己的特定应用;

2 在头文件<unistd.h>中定义编译时的符号常量,用户可以在很多pthread系统中使用#ifdef或者#ifndef预处理条件语句,测试这些符号常量;

3 当使用sysconf符号调用sysconf函数时,返回正的非零值(对于特征检测宏通常无效),它们指定选项当前是否存在,如果不存在,就不支持相关的接口,你的代码就不会被链接,甚至不会被编译。

POSIX对多线程的限制

pthreads多线程标准允许你决定可能影响应用的运行时系统限制,如:你可以创建多少个线程。任何pthreads多线程的实现都必须以下列三种方式告知它的限制:

1 在POSIX文献中做出正式声明。用户可以使用这些帮助信息设计自己的特定应用;

2 在头文件<limits.h>中定义编译时的符号常量。当限制满足最小需求时,符号常量在头文件<limits.h>中可被忽略,但是在编译时无法确定它的限制。如:它可能依赖空闲的内存空间。用户可以使用#ifdef或者#ifndef预处理条件语句,测试这些符号常量。

3 当使用sysconf符号调用sysconf函数时,返回正在非零值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: