2017-05-28 18 views
0

我正在解决有关线程的分配问题。 这是关于排序随机小写字符。 当它排序良好时,我打印出O标记和否,使用2个线程打印出X. 。如何在这个C代码中使用Semaphore关于多线程

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

所以一旦我没有信号写代码。 我现在应该添加Sempahore。但我不知道要修复哪个部分。

你能帮我吗? 我是否必须为信号灯制作更多功能?

这是我在C.

+0

一个int_array,两个线程:( – ThingyWotsit

+0

为什么在排序中有一个nanosleep()? – ThingyWotsit

+0

我不明白你的意思,然后我不能使用信号量吗?你能解释更多关于它的细节吗? – Codingdumb

回答

1

代码ThingyWotsit说,做回你的教授。

对于信号量,想象它的概念像一扇门。

  • 上述sem_post()将由1.
  • sem_wait()增加信号量的计数器将允许一个线程通道和由1递减计数器;
  • 但是,如果在sem_wait()之后计数器达到0,则任何其他sem_wait()都将暂停该线程,关闭该门,直到sem_post> 1

我希望能在你的努力中帮助你。