极速下载站 —— 提供优质软件下载服务,感受全新的极速下载体验!

最近更新 | 软件专题 | 软件分类 | 软件排行

您的位置:极速下载站资讯首页软件教程软件资讯 → 如何学好java?(2)

如何学好java?(2)

时间:2019-08-08 11:02:18  作者:johnnyl  浏览量:37

synchronized(stock){

if(this.stock>num){

this.stock -=num;

}

}

}

}

在并发环境下会出现什么问题?

简单地说存在两个核心问题:

1. 锁是有可能变化的。

2. Integer做锁是不安全,也就是说不能用来做锁。

如果库存stock在-128到127默认范围之间,它是在缓存在静态常量池里面,如果被其他代码使用没有释放,你的程序永远得不到锁,无法进行减库存操作。如果超出-128到127默认范围,你的锁是变化的,它违反锁的互斥条件的原则,锁就没有意义,库存就会乱套。

这里面内容还能继续展开,涉及到的内容越来越多,越来越细,像剥笋一样,层层深入。

<上一页12

相关资讯

相关软件