当前位置: 技术问答>linux和unix
posix线程挂起与恢复问题!
来源: 互联网 发布时间:2016-12-05
本文导语: 问题描述: 在程序的某个模块中创建4个线程(这4个线程公用同一个函数体,且无静态、全局变量),之后立即被挂起,当此程序的其他模块使得某个条件成立,那么这4个被挂起的线程中某个线程将被唤醒并执行相...
问题描述:
在程序的某个模块中创建4个线程(这4个线程公用同一个函数体,且无静态、全局变量),之后立即被挂起,当此程序的其他模块使得某个条件成立,那么这4个被挂起的线程中某个线程将被唤醒并执行相应的任务;如果其他模块使得4个条件都成立,那么4个线程都将被唤醒,当线程执行完任务时候又将被挂起,等待下次被唤醒.请给些指导,谢谢!
在程序的某个模块中创建4个线程(这4个线程公用同一个函数体,且无静态、全局变量),之后立即被挂起,当此程序的其他模块使得某个条件成立,那么这4个被挂起的线程中某个线程将被唤醒并执行相应的任务;如果其他模块使得4个条件都成立,那么4个线程都将被唤醒,当线程执行完任务时候又将被挂起,等待下次被唤醒.请给些指导,谢谢!
|
不太明白楼主的问题。
用信号量应该可以解决。
用信号量应该可以解决。
|
你只是发送了通知,并没有提前修改Flag 变量为1 啊
|
貌似是信号量来做唤醒操作
当其他模块某一条件成立时,唤醒对应的线程来处理....
当其他模块某一条件成立时,唤醒对应的线程来处理....
|
使用信号量;为了防止竞争问题,调用那个函数时用一下锁