社区
进程/线程/DLL
帖子详情
一个线程同步的问题
JJONY
2000-03-13 10:50:00
如果我要做一个程序,有若干个线程,这些线程都要有序地访问同一个线程。应该用哪一类的同步对象?Semaphore?
...全文
362
5
打赏
收藏
一个线程同步的问题
如果我要做一个程序,有若干个线程,这些线程都要有序地访问同一个线程。应该用哪一类的同步对象?Semaphore?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
box
2000-03-13
打赏
举报
回复
互斥量Mutex。信号量Semaphore主要用来解决一些有限资源的问题,如生产者消费者问题等。
如何使用互斥量:
首先用CreateMutex(...)获得一个Mutex句柄,在每个线程访问需同步的资源时先调用WaitForSingleObject(...),操作完成后调用ReleaseMutex(...)
Sniper推荐的书很经典,我也从中收益匪浅。另外你也可参考MSDN/Platform SDK/Windows Base Service/Interprocess Communication.
我这有一篇专门介绍进程间通信的文章(pdf格式),有兴趣的话email给我boxban@263.net
Sniper
2000-03-13
打赏
举报
回复
互斥量。强烈推荐《Windows高级编程指南》(第三版),清华大学出版社,[美]Jeffrey Richter著。
JJONY
2000-03-13
打赏
举报
回复
各位大虾,上面的问题我已经有了答案,对于多个线程同时访问同一个资源时,使用了同步对象后,在同一个时刻里只有一个线程才拥有资源的操作权限。其它的线程将被Block而且是“有序地”排列在系统队列中。
NoBug
2000-03-13
打赏
举报
回复
我对你的问题很疑惑,什么是“有序地访问同一个‘线程’”?。如果是“有序地”访问同一个资源的话,我想还是要采用同步对象,通过合理的进行同步与互斥,是可以是实现有序访问的(具体问题具体分析)。
JJONY
2000-03-13
打赏
举报
回复
似乎两位都没有正面回答我的问题,我要的是各线程如何“有序地”访问资源。
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章