我如何在这个关于多线程的 C 代码中使用信号量
How can I use Semaphore in this C code about multithreading
我正在解决关于线程的赋值问题。
这是关于对随机小写字符进行排序的。
当它排序好时,我打印出 O 标记,或者不打印出 X。
使用 2 个线程。
我需要使用信号量编写代码,但我不知道如何以及在何处编写信号量。
所以有一次我写了没有信号量的代码。
我现在应该添加 Sempahore。但我不知道要修复哪个部分。
你能帮帮我吗?
我是否必须为信号量再创建一个函数?
这是我在 C 中的代码。
正如 ThingyWotsit 所说,一定要回到你的教授那里。
对于信号量,可以把它的概念想象成一个门。
- 前面提到的
sem_post()
将使信号量的计数器增加1。
sem_wait()
将允许线程通过并将计数器减 1;
- 然而,如果在
sem_wait()
计数器达到 0 后,任何其他 sem_wait()
将停止线程,关闭门直到 sem_post
为 > 1
。
希望对你有所帮助。
我正在解决关于线程的赋值问题。 这是关于对随机小写字符进行排序的。 当它排序好时,我打印出 O 标记,或者不打印出 X。 使用 2 个线程。
我需要使用信号量编写代码,但我不知道如何以及在何处编写信号量。
所以有一次我写了没有信号量的代码。 我现在应该添加 Sempahore。但我不知道要修复哪个部分。
你能帮帮我吗? 我是否必须为信号量再创建一个函数?
这是我在 C 中的代码。
正如 ThingyWotsit 所说,一定要回到你的教授那里。
对于信号量,可以把它的概念想象成一个门。
- 前面提到的
sem_post()
将使信号量的计数器增加1。 sem_wait()
将允许线程通过并将计数器减 1;- 然而,如果在
sem_wait()
计数器达到 0 后,任何其他sem_wait()
将停止线程,关闭门直到sem_post
为> 1
。
希望对你有所帮助。