Linux线程同步的问题
想请教一个关于Linux多线程的问题:
有两个线程A和B,两个线程的关系是这样:
1.如果B线程在睡眠状态,或者说阻塞状态,A线程可以唤醒B线程。
如果B线程在运行状态,A线程也可以能会去唤醒B线程,但因为此时B本来就在运行状态,所以希望A的唤醒动作
不要对B有任何影响,也不要有什么标记量++的那些行为。
2.B线程在睡眠一定的时间后,如果这段时间A线程没来唤醒B,那么B线程也要醒来,当然B醒来后要知道是时间到了醒来,还是 被A唤醒的。
B线程用pthread_cond_timedwait,这样待时间的睡眠。
而A线程用 pthread_cond_signal来唤醒A。
这样可以吗?