From 03e77941e5c216481a8cf2e8a4c13ee0802b9364 Mon Sep 17 00:00:00 2001 From: Chen Guang <34943822+cchangee@users.noreply.github.com> Date: Fri, 19 Jan 2018 18:06:49 +0800 Subject: [PATCH] =?UTF-8?q?TODO=20=E4=BD=86=E8=BE=93=E5=87=BA=E5=B9=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E4=B8=A4=E4=B8=AAc,=E4=B8=A4=E4=B8=AAd?= =?UTF-8?q?=EF=BC=8C=E5=8E=9F=E5=9B=A0=EF=BC=9F=20=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getData1 and getData2 未在同步代码块内打印,导致打印前被另一线程更改值。 --- .../learning/java/multithread/synchronize/example8/TaskB.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java-multithread/src/main/java/com/brianway/learning/java/multithread/synchronize/example8/TaskB.java b/java-multithread/src/main/java/com/brianway/learning/java/multithread/synchronize/example8/TaskB.java index 5cfc9b4..1453ea4 100644 --- a/java-multithread/src/main/java/com/brianway/learning/java/multithread/synchronize/example8/TaskB.java +++ b/java-multithread/src/main/java/com/brianway/learning/java/multithread/synchronize/example8/TaskB.java @@ -19,7 +19,8 @@ public void doLongTimeTask() { getData2 = privateGetData2; //System.out.println("切换到线程end:"+Thread.currentThread().getName()); } - + + // 不在同步代码块内打印值,值有可能在打印前被另一条线程更改。 System.out.println(getData1); System.out.println(getData2); System.out.println("end task");