Java 学习笔记之 方法内的临时变量是线程安全

mac2022-06-30  60

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

 

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

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

运行结果:

 

转载于:https://www.cnblogs.com/AK47Sonic/p/7705444.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)