C++线程同步顺序问题

duboislee 2012-11-15 10:34:09
多个线程申请访问一个资源冲突时,有什么办法可以保证每个线程获得资源访问权的顺序和申请的顺序是一样的?就是先到先得
...全文
321 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿麦 2012-12-01
  • 打赏
  • 举报
回复
序列号控制,可以采用处理线程先取个序列号(比如用InterlockedIncrement),登记后,把线程挂起来。 另有一个控制线程,资源允许时,找到登记的最小序列号的线程放行。
阿麦 2012-12-01
  • 打赏
  • 举报
回复
可以用序列号来控制。 但是,“线程获得资源访问权的顺序和申请的顺序是一样的”,有意义吗? 实在想不出有这个必要。
OnceNoAgain 2012-11-26
  • 打赏
  • 举报
回复
设置优先级试试
yaozhiyong110 2012-11-16
  • 打赏
  • 举报
回复
每个线程用一个事件来控制是否可读取资源 每次要读取资源的 将请求放入链表(链表保存事件) 读取完资源取链表头结点 存在则触发事件有信号 相应线程读取资源 重复以上流程
ouyh12345 2012-11-16
  • 打赏
  • 举报
回复
好像很困难 为什么要这么设计?
vcorange 2012-11-16
  • 打赏
  • 举报
回复
线程一旦开起来 竞争的是CPU时间片,那个线程在时间片内执行的速度越快 谁访问的可能性越大
duboislee 2012-11-15
  • 打赏
  • 举报
回复
顶,高手快来回答

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧