首页 > 解决方案 > 刚开始使用 p_thread 和信号量,您将如何使用信号量来等待子线程完成?(没有 p_thread 连接)

问题描述

刚开始使用 p_thread 和信号量,您将如何使用信号量来等待子线程完成?(没有 p_thread 连接)

标签: cmultithreadingpthreadssemaphore

解决方案


正如@MarioTheSpoon 评论的那样,这不能只使用一个信号量。你需要另一个信号量来联锁:

主要的:

  • sem_init(1)
  • sem_init(2)
  • sem_trywait(1)
  • sem_trywait(2)
  • 产卵
  • sem_post(2)
  • sem_wait(1)

孩子:

  • sem_wait(2)
  • sem_post(1)

推荐阅读