第10章 线程控制(1)_线程状态转换

1. 线程的状态转换

第10章 线程控制(1)_线程状态转换 

  【说明】当线程调用pthread_cond_wait进入“等待Blocked”状态时,由于pthread_cond_wait内部会释放mutex同步锁,在这期间这个锁可能被其他线程所获得,因此线程还得等待mutex锁的释放而进入“锁定blocked”状态

2. 线程限制

(1)查询线程限制:long sysconf (int name);

查询选项(name)

限制

描述

_SC_THREADS

_POSIX_THRERADS

支持线程

_SC_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKADDR

支持线程栈地址属性

_SC_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_ATTR_STACKSIZE

支持线程栈大小属性

_SC_THREAD_STACK_MIN

PTHREAD_STACK_MIN

线程栈最小大小(以字节为单位)

_SC_TRHEAD_THREADS_MAX

PTRHEAD_THREADS_MAX

每个进程的最大线程数

_SC_THREAD_KEYS_MAX

PTHREAD_KEYS_MAX

每个进程关键字的最大数目

_SC_THREAD_PRIO_INHERIT

_POSIX_TRHEAD_PRIO_INHERIT

支持优先级继承选项

_SC_THREAD_PRIORITY_SCHEDULING

_POSIX_THREAD_PRIORITY_SECHDULING

支持线程优先级调度

_SC_THREAD_PROCESS_SHARED

_POSIX_THREAD_PROCESS_SHARED

支持进程共享同步

_SC_THREAD_SAFE_FUNCTION

_POSIX_THREAD_SAFE_FUNCTION

支持线程安全函数

_SC_THREAD_DESTRUCTOR_ITERATIONS

_PTHREAD_THREAD_DESTRUCTOR_ITERATIONS

决定在线程退出时尝试销毁特定数据的尝试次数

_SC_CHILD_MAX

CHILD_MAX

每个UID最大允许的进程数目

_SC_PRIORITY_SCHEDULING

_POSIX_PRIORITY_SCHEDULING

支持进程调度

_SC_REALTIME_SIGNALS

_POSIX_REALTIME_SIGNALS

支持实时信号

_SC_XOPEN_REALTIME_THREADS

_XOPEN_REALTIME_THREADS

支持X/Open POSIX实时线程特性组

_SC_STREAM_MAX

STREAM_MAX

决定进程能够打开的流的数目

_SC_SEMAPHORES

_POSIX_SEMAPHORES

支持信号

_SC_SEM_NSEMS_MAX

SEM_NSEMS_MAX

决定线程能够拥有的信号量的最大数目

_SC_SEM_VALUE_MAX

SEM_VALUE_MAX

决定信号量的最大值

_SC_SHARED_MEMORY_OBJECTS

_POSIX_SHARED_MEMORY_OBJECTS

支持共享内存对象

(2)使用方法:

if(PTHREAD_STACK_MIN == syconf(_SC_THREAD_STACK_MIN)){

}

原文链接: https://www.cnblogs.com/5iedu/p/6476533.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    第10章 线程控制(1)_线程状态转换

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/393592

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月3日 下午3:16
下一篇 2023年4月3日 下午3:16

相关推荐