java线程共享变量与静态变量
来源:互联网 发布:疯狗雾化器做丝数据 编辑:程序博客网 时间:2024/05/02 00:05
以下三种情况说明java中全局变量与静态变量在线程间的关系
情况一:
/** * 两个线程对【两】个对象操作,这两个对象的类中的【静态变量在线程间共享】 * * @author thinktown * */public class Test1 {public static void main(String[] args) {Ru1 ru1 = new Ru1();Ru1 ru2 = new Ru1();new Thread(ru1).start();new Thread(ru2).start();}}class Ru1 implements Runnable {private static int num = 0;@Overridepublic void run() {for (int i = 0; i < 10; i++) {num = num + i;}System.out.println("静态变量的值:" + num);}}输出:
静态变量的值:45
静态变量的值:90
情况二:
/** * 两个线程对【两】个对象操作,这两个对象的类中的【全局变量在线程间互不影响】 * * @author thinktown * */public class Test2 {public static void main(String[] args) {Ru2 ru1 = new Ru2();Ru2 ru2 = new Ru2();new Thread(ru1).start();new Thread(ru2).start();}}class Ru2 implements Runnable {private int num = 0;@Overridepublic void run() {for (int i = 0; i < 10; i++) {num = num + i;}System.out.println("全局变量变量的值:" + num);}}输出:
全局变量变量的值:45
全局变量变量的值:45
情况三:
/** * 两个线程对【一】个对象操作,这两个对象的类中的【全局变量在线程间共享】 * * @author thinktown * */public class Test3 {public static void main(String[] args) {Ru3 ru1 = new Ru3();new Thread(ru1).start();new Thread(ru1).start();}}class Ru3 implements Runnable {private int num = 0;@Overridepublic void run() {for (int i = 0; i < 10; i++) {num = num + i;}System.out.println("全局变量变量的值:" + num);}}输出:
全局变量变量的值:45
全局变量变量的值:90
- java线程共享变量与静态变量
- JAVA线程间共享变量
- java线程共享变量问题
- struts中Action的线程安全与实例变量和静态变量的共享问题
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java 线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量 .
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全之静态变量、实例变量、局部变量
- bootloader 内核启动参数
- 第六周项目二(程序填空)---a和b
- 程序填空
- 二、定位元素
- new与malloc的奇怪问题?
- java线程共享变量与静态变量
- 关于“绕坐标轴的旋转”和“鼠标控制物体的旋转”(二)
- 程序改错
- JAVA IO流(管道流)
- ADD_MONTHS() 如果第二个参数是小数会怎么样?
- 《剑指Offer》读书笔记---面试题6:重建二叉树
- 项目二填空1
- Launcher介绍总结
- 第六周项目2-1