一个资源,有一个线程专门写入数据,有两个线程专门读出数据.这种情况怎么安排,效率比较高? 如题:一个资源,有一个线程专门写入数据,有两个线程专门读出数据.这种情况怎么安排,效率比较高?谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题是,一个生产者,2个消费者;考虑事件/信号量/多线程的结合,这方面的资料,看 Jiffery 《windows核心编程》,里面有一个2个生产者/3个消费者的例子,堪称经典, class Resource{private:CRITICALSECTION cs;void Lock();void Unlock();public:void Process(void *pThis);}其余自己找找把 好的,总共有3个线程,线程A,线程B,线程C.3个线程都是并发的有一个资源,比如一个公共变量V,A只负责写数据到V,B和C只负责从V中读数据.我认为的是,B和C可以同时读V,而在A写的时候是不能读V的.同样的,B和C中只要有一个在读数据,A就不可以写数据到V我是这样想的,定义两个CRITICAL_SECTION(临界体)csB和csC.其中csB是专门给B用,csC是专门给C用,而A要写V之前要同时进入csB和csC,B读数据前只要进入csB,C读数据之前也只要进入csC就可以了.当然,换成互斥也可以. 定义两个CRITICAL_SECTION(临界体)csB和csC.其中csB是专门给B用,csC是专门给C用,而A要写V之前要同时进入csB和csC,B读数据前只要进入csB,C读数据之前也只要进入csC就可以了. SDI创建按钮的按钮偶尔会闪,怎么解决? 头文件问题 MVC CStdioFile 读档问题 一个动态调用cpp或者dll的问题 很奇怪的问题,有时候好,有时候坏,是否是bug,还是我操作的问题 成都的兄弟进来一下 请问在这里为什么char szTempPara的每个字符的值为 0 '',而TCHAR szTemp的每个字符为 0 .少俩个'',''在这里是什么意思。 wtl 怎么样哦 对基础不好的人 该怎么学呢 关于OpenProcess问题 高手进来看看! 关于 CListCtrl 的选中问题 请高手帮忙 CImageList中Icon如何背景透明?麻烦进来看一下
考虑事件/信号量/多线程的结合,
这方面的资料,看 Jiffery 《windows核心编程》,里面有一个2个生产者/3个消费者的
例子,堪称经典,
{
private:
CRITICALSECTION cs;
void Lock();
void Unlock();public:
void Process(void *pThis);
}其余自己找找把
总共有3个线程,线程A,线程B,线程C.3个线程都是并发的
有一个资源,比如一个公共变量V,
A只负责写数据到V,
B和C只负责从V中读数据.
我认为的是,B和C可以同时读V,
而在A写的时候是不能读V的.
同样的,B和C中只要有一个在读数据,A就不可以写数据到V我是这样想的,定义两个CRITICAL_SECTION(临界体)csB和csC.
其中csB是专门给B用,csC是专门给C用,而A要写V之前要同时进入csB和csC,
B读数据前只要进入csB,C读数据之前也只要进入csC就可以了.
当然,换成互斥也可以.
其中csB是专门给B用,csC是专门给C用,而A要写V之前要同时进入csB和csC,
B读数据前只要进入csB,C读数据之前也只要进入csC就可以了.