0

假设我们有两个线程。一个打印“Hello”,另一个打印“World”。我们必须以这样一种方式管理线程,即我们的程序应该打印“Hello World”五次。谁能建议我这样做的代码或伪代码?提前致谢。

4

1 回答 1

0

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

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

printWorld()
{
    wait(second)
    print " World"
    signal(first)
}
于 2019-09-28T22:19:31.400 回答