【发布时间】:2013-08-09 11:17:13
【问题描述】:
假设我们有两个线程。一个打印“Hello”,另一个打印“World”。我们必须以这样一种方式管理线程,即我们的程序应该打印五次“Hello World”。 谁能建议我这样做的代码或伪代码? 提前致谢。
【问题讨论】:
-
阅读好pthread tutorial。不要指望我们做你的功课,因为你没有显示任何你尝试过的代码。
标签: multithreading synchronisation
假设我们有两个线程。一个打印“Hello”,另一个打印“World”。我们必须以这样一种方式管理线程,即我们的程序应该打印五次“Hello World”。 谁能建议我这样做的代码或伪代码? 提前致谢。
【问题讨论】:
标签: multithreading synchronisation
我得到了答案。我使用了两个二进制信号量,每个函数一个。让两个信号量分别为第一和第二。最初,first = 1 & second = 0。选择这些值是因为我们希望互斥且没有死锁。算法:
printHello()
{
wait(first)
print "Hello"
signal(second)
}
printWorld()
{
wait(second)
print " World"
signal(first)
}
【讨论】: