java在并发编程时的特性

可见性:

当多个线程操作一块内存时,一个线程将内存中的数据放入自己的缓存中进行修改,对于其他线程来说此修改是不可见的。
解决办法:在变量定义时添加volatile修饰;使用synchronized加锁。

原子性:

每个线程在运行时可能会被CPU中断。
解决办法:使用原子类,Atomicxxx,例:AtomicInteger x= new AtomicInteger(0);使用synchronized加锁。

有序性:

多个线程在运行时,代码的运行顺序可能会改变。
解决办法:在变量定义时添加volatile修饰;使用synchronized加锁。

posted @   叕叕666  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示