属性结构
union pthread_attr_t{ char __size[__SIZEOF_PTHREAD_ATTR_T]; long int __align; }; 12345
属性值不能直接设置,必须使用相关函数进行操作,线程属性主要包括:是否绑定,是否分离,堆栈地址,堆栈大小,优先级
函数原型
/* Initialize thread attribute *ATTR with default attributes (detachstate is PTHREAD_JOINABLE, scheduling policy is SCHED_OTHER, no user-provided stack). */ extern int pthread_attr_init (pthread_attr_t *__attr) __THROW __nonnull ((1)); 1234
注:该函数必须在pthread_create()之前调用
默认:非绑定,非分离,默认1M的堆栈,与父进程同样级别的优先级
轻进程(内核进程)位于系统层与用户层之间,系统对线程的分配、控制都是通过轻进程来实现的,一个轻进程可以控制一个或者多个线程
非绑定:默认情况下启动的轻进程以及它所控制的线程都是由系统决定的,所以这就是属于非绑定的
绑定:把某个线程指定到某个轻进程上面(被绑定的线程具有较高的响应速度)
非分离:原有的线程等待创建的线程结束,只有当pthread_join()收到返回值时,创建的线程才算终止,才能释放空间
分离:线程函数执行完以后马上释放空间
/* Return in *SCOPE the scheduling contention scope of *ATTR. */ extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, int *__restrict __scope) 123
相关知识
c语言玫瑰花代码devc++
元编程艺术,第 1 部分: 元编程简介
嵌入式linux与ARM开发板的入门建议
怎样给桂花树苗施肥?
传教士问题c语言
c语言编程花朵,C语言花朵代码.doc
计算机经典书籍电子书合集(适合计算机学生学习以及程序员笔试、面试)
C语言:输出所有的水仙花数
【未来虫教育】C语言编程时90%的小伙伴常犯的17种错误!
JAVA编程艺术
网址: Linux 下C语言多线程编程 https://m.huajiangbk.com/newsview501826.html
上一篇: linux 解决乱码:LANG= |
下一篇: c语言数组初始化——int a[ |