博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实例变量并不安全(java)
阅读量:7123 次
发布时间:2019-06-28

本文共 934 字,大约阅读时间需要 3 分钟。

  hot3.png

实例变 量为对象实例私有,在java虚拟机的堆中分配,如果在系统中只存在一个此对象的实例,在多线程环境下,就像静态变量那样,被某个线程修改后,其他线程对 修改均可见,故线程非安全;如果每个线程执行都是在不同的对象中,那对象与对象之间的实例变量的修改将互不影响,所以线程安全。(参考: )
package util;  /**  * @说明 变量安全测试  */  public class Test {      public static void main(String[] args) {          Runnable accumelatora = new Accumulatort();          Thread threada = new Thread(accumelatora, "ThreadA");          Thread threadb = new Thread(accumelatora, "ThreadB");          threada.start();          threadb.start();      }  }  class Accumulatort implements Runnable {      // 实例变量      int locals = 0;      public void run() {          for (int i = 0; i <= 10; i++) {              locals += 1;              try {                  Thread.sleep(1000);              } catch (Exception e) {              }              System.out.println(Thread.currentThread().getName() + "-->"                      + locals);          }      }  }

转载于:https://my.oschina.net/cnlw/blog/122957

你可能感兴趣的文章
第 6 章 存储 - 039 - Data Volume 之 bind mount
查看>>
异步IO
查看>>
MySQL
查看>>
【转】Linux内核结构详解
查看>>
DevExpress学习03——label控件的背景色问题
查看>>
Cass环境下光标无显示
查看>>
linux系统监控命令汇总
查看>>
谷歌:全球10大爬升最快搜索关键字排行榜 Google Zeitgeist 2011
查看>>
firewalld 极速上手指南
查看>>
纪念我人生中第一个merge into语句
查看>>
团队报告
查看>>
Linux下启动mongodb
查看>>
重温Android——调节屏幕亮度
查看>>
设计模式六大原则(1):单一职责原则
查看>>
当机器人具有自我知觉,并能自适应环境,真的不可怕吗?
查看>>
selenium环境搭建,浏览器驱动安装
查看>>
C# 递归函数详细介绍及使用方法
查看>>
web api 开发之 filter
查看>>
第十章:内核同步方法
查看>>
SQL中创建外键约束
查看>>