1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
var message =
""
;
void
func()
{
1. 启动线程Thread(该线程中填充message的内容);
2. 阻塞,直到等待到完成message填充的事件;
3. 处理message;
....
}
void
Thread()
{
1. 通过某种处理填充message;
2. 触发func中的阻塞事件;
}
|
-
比如windows平台下CreateEvent,WaitForSingleObject,SetEvent...;
-
Linux平台下的pthread_cond_init,pthread_cond_wait,pthread_cond_signal...。
-
linux下pthread库的条件变量触发机制好比:你和女神妹子约好在某个地方见面,理应你先到的,结果因为你堵车妹子先到了,一看你没来,生气走了。约会泡汤,哭去吧你。
-
windows下的事件的触发机制好比:你和屌丝妹子约好在某个地方见面,理应你先到,但你故意晚来想气走妹子,结果妹子先到却一直等你。约会进行中,哭去吧你。