3
pthread_attr_t
을 복사하려면 memcpy
을 사용하는 것이 좋습니다. 구조체가 Darwin과 Linux 모두에서 개인용으로 보이기 때문에 좋지 않습니다. 복사의 적절한 방법은 무엇입니까 pthread_attr_t
? pthread에는 복사 기능이 없습니다. 모든 속성을 가져 오거나 설정하는 것이 가장 안전한 방법 일 수 있지만 미래의 증거는 아닙니다.pthread_attr_t를 복사하는 방법은 무엇입니까?
#define __SIZEOF_PTHREAD_ATTR_T 36
typedef union
{
char __size[__SIZEOF_PTHREAD_ATTR_T];
long int __align;
} pthread_attr_t;
[sys/types.h] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html)에는 pthread_attr_t에 대한 할당 작업이 정의되어 있지 않다는 내용이 있습니다. – nos
감사합니다. . 네, 할당이 빠졌지 만'pthread_attr_t'는 다중 스레드 생성을 위해 재사용 될 수 있습니다. 나는'pthread_attr_t'를 복사하지 않고 도망 갈 수있을 것이라고 생각하지만, 이것을하기위한 적절한 방법이 있는지 궁금합니다. – dbv
내가 이것을 할 필요가있을 때 나는 하나의 pthread_attr_t에서 속성 필드를 읽고 그것을 다른 사람에게 쓰는 함수를 작성했다. 자질구레하고 귀찮은 누군가가 가서 pthread lib의 새 버전에서 필드를 추가/제거하면. 그러나 그것은 당신이해야하는 것처럼 보입니다. – bazza