读书人

2个线程共享变量的有关问题

发布时间: 2012-03-03 15:33:02 作者: rapoo

2个线程共享变量的问题
我现在有2个线程需要共享2个变量,每个线程维护一个变量,但是需要和另一个线程维护的变量比较来判断是否要维护自己这个变量。
那么请问一下:这2个变量一定需要加锁么?

[解决办法]
看你是怎么访问了,

看你能确保读写不同时发生就是了
[解决办法]
这不是共享变量资源,而是分配变量资源
不需要

BYTE nIndex = 0;
变量类型 变量[2];

线程0
{
BYTE nMyIndex = 0;

nMyIndex = nIndex++;

访问变量[nMyIndex];
}

线程1
{
BYTE nMyIndex = 0;

nMyIndex = nIndex++;

访问变量[nMyIndex];
}
[解决办法]
作为通讯的的两个变量在被修改时
要加锁

读书人网 >C++

热点推荐