正文

线程的创建 ???2006-04-20 20:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/jixian/12798.html

分享到:

// 我创建了两个线程,本意是   要通过 临界区 实现  线程同步,

 在这里 如果去掉 进入(或退出)临界区操作,   可以看到临界区的 作用

但如果都 去掉(即去掉临界区操作那部分) 或 都不 去掉 的话,结果一样,

知道的朋友帮忙改下怎么才能使 两个线程 随机  发生 ????????????

 

 

#include<iostream.h>
#include<windows.h>

CRITICAL_SECTION hCritical;

void display1()
{

 
 
 EnterCriticalSection(&hCritical);
 cout<<"Thread1 is runing!"<<endl;
 LeaveCriticalSection(&hCritical);
}

void display2()
{
   

 
 EnterCriticalSection(&hCritical);
 cout<<"Thread2 is runing!"<<endl;
 LeaveCriticalSection(&hCritical);
}

 

void main()
{
 
 InitializeCriticalSection(&hCritical);

 static HANDLE hHandle1=NULL;
    static HANDLE hHandle2=NULL;
 DWORD dwThreadID1;
 while(1)
 {

 hHandle1=CreateThread((LPSECURITY_ATTRIBUTES)NULL,
  0,(LPTHREAD_START_ROUTINE)display1,
  (LPVOID)NULL,0,&dwThreadID1);
   

    hHandle2=CreateThread((LPSECURITY_ATTRIBUTES)NULL,
  0,(LPTHREAD_START_ROUTINE)display2,
  (LPVOID)NULL,0,&dwThreadID1);
 Sleep(2000);

 }

 

}

阅读(2402) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册