如何使用信号量管理线程?

时间:2013-08-09 11:17:14

标签: multithreading synchronisation

假设我们有两个线程。一个打印“Hello”,其他打印“World”。我们必须以这样的方式管理线程,即我们的程序应该打印“Hello World”五次。 任何人都可以建议我这样做的代码或伪代码? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我得到了答案。我使用了两个二进制信号量,每个功能一个。让两个信号量分别为第一和第二。最初,first = 1&second =0。之所以选择这些值,是因为我们希望互斥且没有死锁。算法:

printHello()
{
    wait(first)
    print "Hello"
    signal(second)
}

printWorld()
{
    wait(second)
    print " World"
    signal(first)
}