三、多线程与上厕所

世界上最让人坐立不安,最知道心急的时候,是拿着手纸捂着肚子而厕所里有人的时候。

 

现在我们有两个人,一个在厕所里,一个在厕所外。

厕所外的人一直问“你好了没?”

while(厕所里的人没出来)

{

       说话(“你好了没,我憋不住了”)

}

这个时候就会变成,里面的人拉的不舒服,外面的人也难受。

 

 

现在我们把条件放宽一点,假如外面的人不是很急,那么他还是这么问的话,估计就浪费很多时间了。

 

如果我们把程序变成这样。

 1 DWORD WINAPI ThreadFunc(LPVOID n)
 2 {
 3     while("没有上完厕所")
 4     {
 5         printf("我是线程二,我在上厕所\n");
 6     }
 7 }
 8 
 9 int main()
10 {
11     HANDLE hThread = CreateThread(NULL,0,ThreadFunc,,0,NULL);
12     WaiteForSigleObject(hThread,INFINITE);
13     printf("我是线程一,终于到我上厕所了\n");
14 }

这时候,线程二工作完成,就会通知线程一,我的工作完成了,你可以继续了。

 

posted @ 2013-12-30 09:29  r3call  阅读(265)  评论(0编辑  收藏  举报