对于两个线程同时访问(读、写)一个全局变量(数组),我不加互斥量可以不?会不会出错? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有时会出错如A[10000]为int数组;R,W为读写进程W::Run(){ for(int i;i<10000i;i++) { A[i]=0; } for(int i;i<10000i;i++) { A[i]=i; } }R::Run(){ int B[10000],C[10000]; for(int i;i<10000i;i++) { B[i]=A[i]; } for(int i;i<10000i;i++) { C[i]=A[i]; } }由于两个线程交替执行,你在B,C两个数组中将看到0和i混乱了 必须要加的,参看候捷翻译的<<Win32多线程设计>>。 列表视图控件中如何设置两行标题,请高手指点! 这样是需要打包吗? 谢谢! 我想用做文件自校验 使用md5算法 但是相同的代码 每次rebuild all生成的文件md5值都不一样 获取地址栏中的URL地址 对于网络上的数据库文件配置 pow函数和CString相关问题 阅读VC程序有什么好的方法没有啊?好多类啊!函数啊!如何才能做到思路清晰呢?谢谢! 讨论:大家认为一种编程工具区分大小写好还是不区分好?为什么? 让VC里面的类看起不要这么多 如何截获系统的每一个消息,用以监视用户 如何实现更换程序默认标题和图标,如何实现系统托盘 vc++60下编写DLL返回char指针问题
W::Run()
{
for(int i;i<10000i;i++)
{
A[i]=0;
} for(int i;i<10000i;i++)
{
A[i]=i;
}
}
R::Run()
{
int B[10000],C[10000];
for(int i;i<10000i;i++)
{
B[i]=A[i];
}
for(int i;i<10000i;i++)
{
C[i]=A[i];
}
}
由于两个线程交替执行,你在B,C两个数组中将看到0和i混乱了