Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我们有两个线程。一个打印“Hello”,另一个打印“World”。我们必须以这样一种方式管理线程,即我们的程序应该打印“Hello World”五次。谁能建议我这样做的代码或伪代码?提前致谢。
我得到了答案。我使用了两个二进制信号量,每个函数一个。让两个信号量分别为第一和第二。最初,first = 1 & second = 0。选择这些值是因为我们希望互斥且没有死锁。算法:
printHello() { wait(first) print "Hello" signal(second) } printWorld() { wait(second) print " World" signal(first) }