关于多线程的一个小问题
现在有两个线程, 一个类ClassX的对象x
两个线程都访问x,调用其x的成员函数修改数据成员
想问的是 需要互斥吗?
如果是,那是对x本身进行互斥访问,还是对x的数据成员进行互斥访问??
问题点数:0、回复次数:5Top
1 楼ericzhangali(另一个空间)回复于 2005-01-04 18:51:52 得分 0
需要,对x本身。Top
2 楼runall(龙行天下)回复于 2005-01-04 21:29:36 得分 0
两个线程中只要有一个对一变量有写操作,就需要互斥访问Top
3 楼greatcat()回复于 2005-01-05 10:21:04 得分 0
现在的情况是: 对象x有个数据成员y(类CLASSY的对象),所有的操作获得的数据都存放在y中,而y里面的数据成员用了static的互斥mutex, 工作起来好像没有问题哦
看到有个人也是这样处理的:多个线程对于对象的访问不互斥,而是对对象的数据成员进行访问互斥,即对数据成员加上static的mutexTop
4 楼DiabloWalkOnTheEarth(我想到个绝妙的昵称,只是地方太小,写不下)回复于 2005-01-05 10:25:35 得分 0
两种都可以.Top
5 楼zhaozhencn(FlyingDonkey)回复于 2005-01-07 15:26:36 得分 0
reads/write 多个线程同时读数据,无需互斥与同步, 其中有一个写的线程运行时,必须与其它线程同步.Top




