我想使用memcpy
复制pthread_attr_t
并不是一个好主意,因为结构在Darwin和Linux上看起来都是私有的。复制pthread_attr_t
的正确方法是什么? pthreads中没有复制功能。获取/设置所有属性可能是最安全的方式,但它不是未来的证据。
这就是我在Ubuntu盒子上的样子,仅供参考:
#define __SIZEOF_PTHREAD_ATTR_T 36
typedef union
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
} pthread_attr_t;
答案 0 :(得分:3)
有趣的问题,但答案(从pthread_attr_init()
规范的基本原理部分判断)是你不应该复制pthread_attr_t
个对象。你是对的,memcpy()
等不是可靠的机制(无论如何,普通的旧任务有什么问题?)。