10.2. 障碍


与其他线程同步方法相比,障碍的运行方式截然不同。障碍在代码中定义一个点,其中所有活动线程都停止,直到所有线程和进程都到达这个障碍。当运行的应用程序需要确保所有线程都已完成特定任务时,可以在继续操作前,使用障碍。

barrier mutex 实时使用以下两个变量:

  • 第一个变量记录了 障碍的停止和 传递 状态。
  • 第二个变量记录了进入障碍的线程总数。

只有指定数量的线程数量达到定义的 barrier 时,barrier 才会将状态设置为 pass。当 barrier 状态设置为 pass 时,线程和进程将继续。pthread_barrier_init () 函数分配所需的资源,以使用定义的 barrier,并使用 attr 属性对象引用的属性进行初始化。

当成功时,pthread_barrier_init ()pthread_barrier_destroy () 函数返回零值。出错时,它们会返回错误号。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat