首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

多线程有关问题求解

2012-05-06 
多线程问题求解比如说...我创建一个结构体...Thread这个对象就是代表一个线程...而DWORD WINAPI set(LPVO

多线程问题求解
比如说...我创建一个结构体...Thread;这个对象就是代表一个线程...
而DWORD WINAPI set(LPVOID lParam);这个是每个线程该做的事情...那么,我动态生成线程的话咋让它听我的话去做嘞?
而Thread里面应该有一个CRITICAL_SECTION这个变量,那么我还需要创建一个全局的这样的变量么?
我有点不明白了...EnterCriticalSection是锁住调用了CRITICAL_SECTION这个变量的线程呢.还是什么????
我搞迷糊了...大家帮帮忙说一下InitializeCriticalSection(),EnterCriticalSection(),LeavaCriticalSection(),DeleteCriticalSection(),的关系...
如:
InitializeCriticalSection(): 是干么的...为什么要这么做
EnterCriticalSection(): 是干么的...为什么要这么做
LeavaCriticalSection(): 是干么的...为什么要这么做
DeleteCriticalSection(): 是干么的...为什么要这么做

先谢谢啦...别不回帖啊...大哥大们这么多...帮帮忙呗...我手上没有windows核心编程这本书...暂时看不了哦...

[解决办法]
CRITICAL_SECTION有点类似于操作系统里面的临界区。在使用前必须初始化。然后呢。谁进入就先EnterCriticalSection(),如果已经有人在使用了,那么就排队等候。如果没有的话,你就进入并且锁住这个临界区。用完了就LeavaCriticalSection(),以便后面的使用这个临界区。当整个程序不再使用临界区了,那么你需要释放掉这个。就使用DeleteCriticalSection()
[解决办法]
对的。。。

热点排行