以取钱作为案例,这里我使用的是代码块同步的方式。
1 public class Test3 { 2 public static void main(String[] args) { 3 A3 a31=new A3(); 4 a31.start(); 5 A3 a32=new A3(); 6 a32.start(); 7 } 8 } 9 class A3 extends Thread{ 10 static int sum=1000; 11 public void run() { 12 //每次取100 13 synchronized("abc") { 14 while(sum>0) { 15 sum-=100; 16 System.out.println("sum:"+sum); 17 } 18 } 19 } 20 }
输出如下:
如果去掉synchronized同步,会有类似如下的输出: