设为首页 加入收藏

TOP

POSIX线程的创建和取消
2014-11-24 12:00:22 来源: 作者: 【 】 浏览:2
Tags:POSIX 线程 建和 取消

先看一个例子:pthread1.c


struct pthread_attr_t
{
enum 新线程是否与进程中其它线程脱离同步
{
PTHREAD_CREATE_JOINABLE [default] 可以在创建后用 pthread_detach 脱离同步
PTHREAD_CREATE_DETACHED 不能用 pthread_join 来同步,退出时自行释放资源
} __detachstate;

enum 新线程的调用策略
{
SCHED_OTHER [default] 非实时
SCHED_RR 实时,轮转法 - 仅对超级用户有效
SCHED_FIFO 实时,先入先出 - 仅对超级用户有效
} __schedpolicy;

struct sched_param 在运行时用 pthread_setschedparam 更新。
{
int sched_priority 线程的运行优先级。当上面的 __schedpolicy 为“实时”时才有效。缺省是零。
} __schedparam;

enum
{
PTHREAD_EXPLICIT_SCHED [default] 显式指定调度策略和调度参数,即使用 attr 中的值
PTHREAD_INHERIT_SCHED 继承调用者线程的值
} __inheritsched;

enum 线程间竞争CPU的范围
{
PTHREAD_SCOPE_SYSTEM [default] 目前Linux只实现了这一种
PTHREAD_SCOPE_PROCESS 仅与同进程的线程竞争
} __scope;
}

下面三个没用过
* guard size
* stack address (See unistd.h and bits/posix_opt.h _POSIX_THREAD_ATTR_STACKADDR)
* stack size (default minimum PTHREAD_STACK_SIZE set in pthread.h)


检查本线程是否处于取消状态,若是,立刻退出。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇交叉编译场景(arm-linux)分析 下一篇Ogre+Opcode实现碰撞检测

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)