VC多个线程读,单个线程写的问题
各位大侠,小弟在研究VC多线程时遇到了一个疑惑,就是多个线程读,单个线程写的问题.如果使用临界区的话,同时只有一个线程读,效率较低,写线程很少运行,记得在.net中有读写...
各位大侠,小弟在研究VC多线程时遇到了一个疑惑,就是多个线程读,单个线程写的问题.
如果使用临界区的话,同时只有一个线程读,效率较低,写线程很少运行,记得在.net中有读写锁的方法的,但是不知道MFC中如何实现呢. 展开
如果使用临界区的话,同时只有一个线程读,效率较低,写线程很少运行,记得在.net中有读写锁的方法的,但是不知道MFC中如何实现呢. 展开
3个回答
展开全部
不一定非得是全局变量,完全可以是在堆中分配内存,然后把内存地址以参数的形式传递给各线程。多线程同时操作一个内存区,要注意线程同步问题,以避免由于操作不同步而引起的问题。一般的,同时写或者同时读出现问题的机率较少,但如果即读又写的话,就要建议你用临界区、事件对象、互斥锁等进行线程同步了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以自己写一段类似读写锁的代码啊,这个其实是很容易实现的,使用互斥锁来控制对文件的读写访问,当没有线程读的时候才允许写就OK了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种情况比较适合使用“读写锁”,具体你可以去看百度百科的说明。你可以看下这文章:http://blog.csdn.net/voldermort/archive/2009/03/04/3956066.aspx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询