当前位置: 首页 > news >正文

做服装外贸哪个网站好网站开发和系统开发区别

做服装外贸哪个网站好,网站开发和系统开发区别,软文写作要求,微信网站开发费用1、volatile的特性 可见性#xff1a;对一个volatile变量的读#xff0c;总能够看到任意一个线程对这个volatile变量的写入。 原子性#xff1a;对任意单个volatile变量的读/写具有原子性#xff0c;但类似于volatile这种复合操作不具有原子性。 接下来我们用程序验证。…1、volatile的特性 可见性对一个volatile变量的读总能够看到任意一个线程对这个volatile变量的写入。 原子性对任意单个volatile变量的读/写具有原子性但类似于volatile这种复合操作不具有原子性。 接下来我们用程序验证。 public class OldVolatileFeaturesExample {volatile long v1 0L; // 使用volatile 声明64位的long型变量//long v1 0L;public void set(long l){v1 l; //单个volatile 变量的写}public void getAndIncrement(){v1; // 多个volatile 变量的读/写}public long get(){return v1; // 单个volatile 变量的读}public static void main(String[] args) {final OldVolatileFeaturesExample volatileFeaturesExamlple new OldVolatileFeaturesExample();Thread thread0 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l volatileFeaturesExamlple.get();System.out.println(创建的l值------- l);}});thread2.start();/* for (int i 0; i 10; i) {Thread thread0 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {volatileFeaturesExamlple.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l volatileFeaturesExamlple.get();System.out.println(创建的l值------- l);}});thread2.start();}*/}}这里线程thread0 设置使用volatile修饰的long类型变量 v1 线程thread1 进行v1操作 thread2 获取变量v1的值并打印结果。那么 v1的值是几呢 上面这段程序运行结果是 创建的l值-------2那么就算不用volatile修饰的v1变量也执行上述操作结果会是什么样子呢没错还是2。 那么使用volatile修饰的v1变量 当使用for 循环呢也就是多个volatile变量的读写操作的结果 创建的l值-------2 创建的l值-------2 创建的l值-------1 创建的l值-------1 创建的l值-------1 创建的l值-------2 创建的l值-------3 创建的l值-------1 创建的l值-------2 创建的l值-------3假设具有原子性那么v1循环加10次 1,那么它的结果应该是 10而不是上面的结果。上面的程序等价于 public class NewVolatileFeaturesExample {long v1 0L;public synchronized void set(long l){ //对单个的普通变量的写用同一个锁同步v1 l;}public void getAndIncrement(){ //普通方法调用long temp get(); //调用已同步的读方法temp 1L; //普通写操作set(temp); //调用已同步的写方法}public synchronized long get(){ // 对单个的普通变量的读用同一个锁同步return v1;}public static void main(String[] args) {final NewVolatileFeaturesExample newVolatileFeaturesExample new NewVolatileFeaturesExample();/* for (int i 0; i 10; i) {Thread thread0 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l newVolatileFeaturesExample.get();System.out.println(创建的l值------- l);}});thread2.start();}*/Thread thread0 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.set(1L);}});thread0.start();Thread thread1 new Thread(new Runnable() {public void run() {newVolatileFeaturesExample.getAndIncrement();}});thread1.start();Thread thread2 new Thread(new Runnable() {public void run() {long l newVolatileFeaturesExample.get();System.out.println(创建的l值------- l);}});thread2.start();} } 这个也就是相当于对v1变量的读和写进行了synchronized 同步锁操作。 而锁的语义决定了临界区代码的执行具有原子性。锁的happens-before 规则保证了释放锁和获取锁的两个线程之间的内存可见性。那么volatile 写和读建立的happens-before 关系是又是什么样子呢欲知后事如何请看下回分解。 更多创作在我的公众号里哦。
http://www.hkea.cn/news/14546830/

相关文章:

  • 阿里巴巴网站分类导航做全屏网站的制作步骤
  • 12个优秀的平面设计素材网站的排名中英文的网站是怎么做的
  • 亦庄网站开发h5网站开发定制
  • 烟台北京网站建设凡科商城官网旗舰店
  • 郑州网站高端设计怎样学设计快速入门
  • 用腾讯云做淘宝客购物网站视频网站个人微信收款方案
  • 品牌网站要这么做WordPress多级目录多种样式
  • 马格南摄影网站ppt模板下载网站推荐
  • 一个网站的优势有哪些建设银行网站流水账单怎么打
  • 网站建设写程序用什么软件网站建设宣传软文范例
  • 网站怎么换主机企业建站都有什么网站
  • 房地产网站建设与优化分析企业网站怎么做省钱
  • 建站之星app网站建设衤金手指花总
  • wordpress网站访问慢台州建设局网站建筑工程黑名单
  • 网站添加 备案seo课程总结
  • 时尚网站首页设计微网站开发系统
  • 监控做直播网站好的网站建设公司排名
  • 目前做哪个网站致富免费视频网站推荐
  • 网站开发后服务费手机网站建设图片素材
  • ps课堂网站宿迁房产网二手房
  • 宁波网站建设果核室内设计多少钱
  • 湖南酒店网站建设办公室装修费用一般待摊几年
  • 辽宁省建设厅网站升级做网站的属于什么行业
  • 新网站怎么做谷歌推广呢做第三方库个人网站
  • 首钢建设二建设公司网站seo推广有效果吗
  • 建设厅官方网站职称wordpress新建类型
  • 网站建设对策本地南京网站建设
  • 深圳开发的相亲网站二维码转换成短链接在线
  • 广东高端网站建设seo如何优化网站
  • 做网站要多大空间深圳市宝安区建设局网站