首页 新闻 会员 周边

请教一个多线程操作一个变量是的线程同步问题

0
[已解决问题] 解决于 2017-03-09 17:00
private static object Locker = new object();

假设有如上锁定义,有以下代码,那么WaitCount是线程安全的么

lock(Locker){
    输出WaitCount的值
}

 

lock (Locker)
                    {
                        WaitCount ++;
                    }
lock (Locker)
                {
                    WaitCount--;
                }
MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2017-03-09 16:31
< >
分享
最佳答案
0

当 有2个方法.一个add1,一个add2,然后add1的方法体是lock (Locker) { WaitCount ++; } add2的方法体是lock (Locker) { WaitCount--; }

这时我们说add1和add2这2个方法是线程安全的.WaitCount 这个变量本身没有线程安全这一说.

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2017-03-09 16:33

 好的,我描述有点问题,就是说当add1在++的时候,add2是没法--的对吧

MSky | 园豆:436 (菜鸟二级) | 2017-03-09 16:34

@MSky: 嗯.add1和add2这2个方法是线程安全的.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-03-09 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册