level 1
专注and坚持
楼主
在《linux 编程技术详解》这本书中讲到线程属性pthread_attr_t的定义是:
typedef struct
{
int __detachstate; 线程的分离状态
int __schedpolicy; 线程调度策略
struct sched_param __schedparam; 线程的调度参数
int __inheritsched; 线程的继承性
int __scope; 线程的作用域
size_t __guardsize;
int __stackaddr_set;
void * __stackaddr; 线程堆栈的位置
size_t __stacksize; 线程栈的大小
}pthread_attr_t;
我在/usr/include/bits/pthreadtypes.h这个文件中找到pthread_attr_t的定义却是这样的:
typedef union
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
} pthread_attr_t;
1、为什么会出现这两种不同的情况?
2、如何查看pthread_attr_t结构的第一种定义
2017年12月30日 16点12分
1
typedef struct
{
int __detachstate; 线程的分离状态
int __schedpolicy; 线程调度策略
struct sched_param __schedparam; 线程的调度参数
int __inheritsched; 线程的继承性
int __scope; 线程的作用域
size_t __guardsize;
int __stackaddr_set;
void * __stackaddr; 线程堆栈的位置
size_t __stacksize; 线程栈的大小
}pthread_attr_t;
我在/usr/include/bits/pthreadtypes.h这个文件中找到pthread_attr_t的定义却是这样的:
typedef union
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
} pthread_attr_t;
1、为什么会出现这两种不同的情况?
2、如何查看pthread_attr_t结构的第一种定义