如何在此有关多线程的 C 代码中使用信号量



我正在解决关于线程的赋值问题。这是关于对随机小写字符进行排序。当它排序良好时,我打印出O标记或不打印出X。使用 2 个线程。

我需要使用信号量编写代码,但我不知道如何以及在哪里编写 sempahore。

所以有一次我写了没有信号量的代码。我现在应该添加森帕霍尔。但我不知道要修复哪一部分。

你能帮我吗?我是否必须为信号量再创建一个函数?

这是我的 C 代码。

正如ThingyWotsit所说,一定要回到你的教授那里。

对于信号量,将其概念视为门。

  • 上述sem_post()将使信号量的计数器增加 1。
  • sem_wait()将允许螺纹通道并将计数器递减 1;
  • 但是,如果在sem_wait()后计数器达到 0,则任何其他sem_wait()将停止线程,请关闭门,直到sem_post > 1

我希望这对你的努力有所帮助。

最新更新