如何复制pthread_attr_t?

问题描述 投票:4回答:1

我想使用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;
c pthreads posix
1个回答
3
投票

有趣的问题,但答案(从pthread_attr_init()规范的基本原理部分判断)是你不应该复制pthread_attr_t对象周围。你是对的,memcpy()等不是可靠的机制(无论如何,简单的旧任务有什么问题?)。

© www.soinside.com 2019 - 2024. All rights reserved.