gpt4 book ai didi

c - 是否存在静态 pthread 自旋锁初始化?

转载 作者:太空狗 更新时间:2023-10-29 11:04:48 25 4
gpt4 key购买 nike

是否有 pthread 自旋锁的静态初始化器?我看了一下pthread.h,好像没有。

我正在寻找类似于 PTHREAD_MUTEX_INITIALIZER 的东西。

最佳答案

您可以使用构造函数和析构函数(在 gcc 和 clang 中可用)

#include <pthread.h>
#include <stdlib.h>

static pthread_spinlock_t lock;

__attribute__((constructor))
void lock_constructor () {
if ( pthread_spin_init ( &lock, 0 ) != 0 ) {
exit ( 1 );
}
}

int main () {
if (
pthread_spin_lock ( &lock ) != 0 ||
pthread_spin_unlock ( &lock ) != 0
) {
return 2;
}
return 0;
}

__attribute__((destructor))
void lock_destructor () {
if ( pthread_spin_destroy ( &lock ) != 0 ) {
exit ( 3 );
}
}

关于c - 是否存在静态 pthread 自旋锁初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com