当前位置: 技术问答>linux和unix
不用 signal,如何实现线程的休眠与唤醒
来源: 互联网 发布时间:2015-09-07
本文导语: 两个线程,一个是主线程(mainthread), 一个是工作线程(workthread)。当工作线程工作完后,可不可以休眠,直到主线程唤醒他。 workthread { while ( 1) { do sth. if finish, sleep. } } ============================ mai...
两个线程,一个是主线程(mainthread), 一个是工作线程(workthread)。当工作线程工作完后,可不可以休眠,直到主线程唤醒他。
workthread
{
while ( 1)
{
do sth.
if finish, sleep.
}
}
============================
mainthread
while ( 1)
{
if something happened, tell workthread . let it run.
do other thing.
}
现在的问题是,当工作线程工作完后,如何让它休眠; 当主线程让它工作,又可以唤醒它。你可以用 mutex 等来实现。
workthread
{
while ( 1)
{
do sth.
if finish, sleep.
}
}
============================
mainthread
while ( 1)
{
if something happened, tell workthread . let it run.
do other thing.
}
现在的问题是,当工作线程工作完后,如何让它休眠; 当主线程让它工作,又可以唤醒它。你可以用 mutex 等来实现。
|
代码到是有一些,但是我现在在家