zoukankan      html  css  js  c++  java
  • Java 学习笔记之 方法内的临时变量是线程安全

    方法内的临时变量是线程安全:

    方法内部的私有变量,是线程安全的。

    public class HasSelfPrivateNum {
        public void addI(String username) {
            try {
                int num = 0;
                if (username.equals("a")){
                    num = 100;
                    System.out.println("a set over!");
                    Thread.sleep(2000);
                } else {
                    num = 200;
                    System.out.println("b set over!");
                }
                System.out.println(username + " num = " + num);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    
    public class HasSelfPrivateNumThreadA extends Thread{
        private HasSelfPrivateNum numRef;
    
        public HasSelfPrivateNumThreadA(HasSelfPrivateNum numRef) {
            super();
            this.numRef = numRef;
        }
    
        @Override
        public void run() {
            super.run();
            numRef.addI("a");
        }
    }
    
    public class HasSelfPrivateNumThreadB extends Thread {
        private HasSelfPrivateNum numRef;
    
        public HasSelfPrivateNumThreadB(HasSelfPrivateNum numRef) {
            super();
            this.numRef = numRef;
        }
    
        @Override
        public void run() {
            super.run();
            numRef.addI("b");
        }
    }
    
    public class ThreadRunMain {
        public static void main(String[] args) {
            testHasSelfPrivateNumThread();
        }
        public static void testHasSelfPrivateNumThread(){
            HasSelfPrivateNum numRef = new HasSelfPrivateNum();
            HasSelfPrivateNumThreadA athread = new HasSelfPrivateNumThreadA(numRef);
            athread.start();
            HasSelfPrivateNumThreadB bthread = new HasSelfPrivateNumThreadB(numRef);
            bthread.start();
        }
    }

    运行结果:

  • 相关阅读:
    Javascript 面向对象编程
    搜狗2013面试题——求页面中所有单词的个数
    jQuery的ready函数需要注意的细节
    js冒泡排序
    jQuery基本框架解析
    数据结构与算法汇总
    唯美的图片网站
    JavaScript中的setInterval用法
    DOCTYPE
    js实现快速排列
  • 原文地址:https://www.cnblogs.com/AK47Sonic/p/7705444.html
Copyright © 2011-2022 走看看