回复3楼你的想法有一个问题存在:你的提法很好,但仍需要借助排队来平衡读写各自的次数,否则写会饿死,或者读会饿死,即让他们各自占有的时间尽量平衡点,与其自已写一个读写调度队列,为什么不直接修改CCriticalSection,让他本身在内核层就有这种机制,效率不是最高吗
解决方案 »
- 迅雷7的下载记录日期时间存储的问题
- MFC画矩形重叠后的遮挡问题
- libcurl多线程执行一段时间后 下载速度变慢
- 我想把一个对话框附加到tab控件上,可是附加不了,帮帮忙解答,谢谢啦。
- 如何还原VC的工作区显示状态啊?~~
- 多线程里怎么用this
- 急问:mfc写文件失败,哪里出错了?
- 在CListCtrl中用函数GetItemText(iCurSel,icolum)获得刚编辑完毕的某个单元格的值。总是得不到正确的值?
- 高分求解问题,WSARecv()
- 请问各位高手学习API 什么书比较好?
- WSALookupServiceNext 获取不到设备名称
- Recv接收数据时,为什么会接收到相同的数据
写的线程开写的同时isWrite = true;
写完了isWrite = false;
读的线程判断这个bool变量,如果有线程正在写就
CCriticalSection::Lock
如果没有线程正在写,就直接开读。当然,对这个isWrite的访问也要一个单独的临界区对象来加锁。