8.5. 线程同步功能


下表列出了用于线程同步机制的功能

Expand
表 8.2. Functions
功能描述

pthread_mutexattr_init(&my_mutex_attr)

使用 attr 指定的属性启动 mutex。如果 attr 是 NULL,它会应用默认的 mutex 属性。

pthread_mutexattr_destroy(&my_mutex_attr)

销毁指定的 mutex 对象。您可以使用 pthread_mutex_init() 重新初始化。

pthread_mutexattr_setrobust()

指定 mutex 的 robust 属性。

pthread_mutexattr_getrobust()

查询 mutex 的 robust 属性。

PTHREAD_MUTEX_ROBUST

定义一个线程,以在不解锁 mutex 的情况下终止。给您自己的该 mutex 的未来调用会自动成功,并返回值 EOWNERDEAD 以指示之前的 mutex 所有者不再存在。

pthread_barrier_init()

分配所需的资源以使用,并使用属性对象 attr 初始化 barrier。如果 attr 是 NULL,它会应用默认值。

pthread_cond_init()

初始化 condition 变量。cond 参数定义要使用 condition 变量属性对象 attr 中的属性启动的对象。如果 attr 是 NULL,它会应用默认值。

pthread_cond_wait()

阻止线程执行,直到它收到另一线程的信号。另外,对这个功能的调用也会在阻止前在 mutex 上释放相关的锁定。参数 cond 定义了要阻断的线程的 pthread_cond_t 对象。mutex 参数将 mutex 指定为 unblock。

pthread_cond_signal()

Unblocks 至少是在指定 condition 变量上阻止的线程之一。参数 cond 指定使用 pthread_cond_t 对象来取消阻塞线程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部