线程同步问题:谁知道CreateMutex( )怎么用?(108分)
(1) 通过设置线程的互斥体对象,在可能冲突的地方进行同步控制。
首先,建立互斥体对象,得到句柄:
HANDLE CreateMutex( );
然后,在线程可能冲突区域的开始(即访问共享资源之前),调用WaitForSingleObject将句柄传给函数,请求占用互斥体对象:
dwWaitResult = WaitForSingleObject(hMutex, 5000L);
共享资源访问完后,释放对互斥体对象的占用:
ReleaseMutex(hMutex);
互斥体对象在同一时刻只能被一个线程占用。当互斥体对象被一个线程占用时,若有另一线程想占用它,则必须等到前一线程释放后才能成功。
问题点数:108、回复次数:11Top
1 楼Sodar(小猪菜菜)回复于 2001-05-18 17:23:00 得分 0
你这不说的很清楚了吗?Top
2 楼airhorse(编程至尊宝)回复于 2001-05-18 17:31:00 得分 0
你不是,说的够清楚了吗,就这么用,
我想每人会比你说的更清楚了。
你不是,要我给你 一百零八分 吧?。。。。
Top
3 楼airhorse(编程至尊宝)回复于 2001-05-18 17:38:00 得分 0
你不是,说的够清楚了吗,就这么用,
我想没人会比你说的更清楚了。
你不是,要我给你 一百零八分 吧.....
天哪?..。。
天哪?..。。
天哪?..。。
天哪?..。。
好!,我给你 108 分 ,
1分 ,2分 3分 4分 5分 6分 7分 8分 9分 .....
.....................................................................
.....................................................................
..............................108分。
这下你开心了吧?。。。。。。。。Top
4 楼111222(www.111222.cn)回复于 2001-05-18 17:39:00 得分 0
“啊呀,又学了一课..”(掏出笔记本、、刷刷刷..狂记)Top
5 楼tvrcjtg(没钱也不想做程序员了)回复于 2001-05-18 17:45:00 得分 0
你写得很对,不过我看你还没弄懂是怎么回事吧,呵呵
我也不是很清楚,只是知道互拆量可以在不同进程中用到
而临界量只能在一个进程中使用
我前几天刚学到线程这一节,呵呵,
大家一起努力吧
Top
6 楼tantongs(探问量)回复于 2001-05-18 18:40:00 得分 0
看着有人数分,有人记笔记,我咽了一口唾沫,想想不好意思吞下去,于是很很地唾在了地上,砸出一个小坑。Top
7 楼temp()回复于 2001-05-18 18:42:00 得分 0
这是摘自潘爱民的论文,能不清楚吗?
不过我笨,CreateMutex( )里那三个参数是什么意思?
有没有例子?
Top
8 楼temp()回复于 2001-05-18 18:46:00 得分 0
<<dwWaitResult = WaitForSingleObject(hMutex, 5000L);
5000L是什么意思?
Top
9 楼airhorse(编程至尊宝)回复于 2001-05-23 09:51:00 得分 108
全兄:
不好意思,如果你直说的话也不会这样了;
DWORD WaitForSingleObject(
HANDLE hHandle, // handle to object to wait for
DWORD dwMilliseconds // time-out interval in milliseconds
);
dwMilliseconds :=超时时间;
HANDLE CreateMutex(
LPSECURITY_ATTRIBUTES lpMutexAttributes,
BOOL bInitialOwner,
LPCTSTR lpName
);
lpMutexAttributes:互斥体对象安全等级;
bInitialOwner:初始化互斥体对象状态;
lpName:互斥体名(区别不同的互斥体,名字相同互斥体相同,进程间也有效);
Top
10 楼iBreathe(剪刀•石头•布)回复于 2001-05-23 10:04:00 得分 0
怎么放到灌水乐园里来了?Top
11 楼abcba(识字阶段)回复于 2001-05-23 12:36:00 得分 0
哈,我来了……哈,我来了……哈,我来了……
哈,我来了……
我来蹭分~ Top




