专栏名称: java一日一条
主要是讲解编程语言java,并且每天都推送一条关于java编程语言的信息
目录
相关文章推荐
Java编程精选  ·  阿里员工吐槽:80%以上的leader认为, ... ·  2 天前  
芋道源码  ·  别乱分层,PO、VO、DAO、BO、DTO、 ... ·  昨天  
芋道源码  ·  抱歉,最近我劝各位真的别轻易离职...... ·  昨天  
芋道源码  ·  谈一谈 分库分表 vs NewSQL数据库 ·  昨天  
芋道源码  ·  如何加快 SQL 查询速度的同时保持 ... ·  昨天  
51好读  ›  专栏  ›  java一日一条

并发编程:原子性、可见性和竞态条件与复合操作

java一日一条  · 公众号  · Java  · 2019-05-22 22:23

正文

请到「今天看啥」查看全文



比如:用volatile修饰的变量,就会具有可见性。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。所以对其他线程是可见的。但是这里需要注意一个问题,volatile只能让被他修饰内容具有可见性,但不能保证它具有原子性。比如 volatile int a = 0;之后有一个操作 a++;这个变量a具有可见性,但是a++ 依然是一个非原子操作,也就这这个操作同样存在线程安全问题。


关系

原子性是说一个操作是否可分割。可见性是说操作结果其他线程是否可见。


竞态条件







请到「今天看啥」查看全文