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();
        }
    }

    运行结果:

  • 相关阅读:
    多点触摸的一些代码
    精灵跳跃练习
    svn安装所遇到的几个问题[转载]
    简易包边字画法
    http和socket简介
    ant使用笔记
    j2se图片拖拽练习
    A星寻路示例
    迅为瑞芯微iTOP3399开发板资料更新
    迅为i.MX6Q开发板NXP恩智浦ARM安卓linux开发板
  • 原文地址:https://www.cnblogs.com/AK47Sonic/p/7705444.html
Copyright © 2011-2022 走看看