設計 4 個線程,其中兩個線程每次對 j 增加 1,另外兩個線程對 j 每次減少 1。寫出程序。
阿新 • • 發佈:2017-08-04
logs ati static run ride test ide err div
先設計一個類處理加減這一行為:
public class ManyThread { private int j = 0; public synchronized void inc(){ j++; System.out.println(Thread.currentThread().getName() + "inc" + j); } public synchronized void dec(){ j--; System.out.println(Thread.currentThread().getName()+ "dec" + j); } }
然後進行調用
public class MyTest { private ManyThread manyThread = new ManyThread(); public static void main(String[] args) { MyTest myTest = new MyTest(); myTest.test(); } public void test() { for(int i = 0; i < 2;i++){new Thread(new Runnable() { @Override public void run() { for (int i = 0;i < 20;i++){ manyThread.inc(); } } }).start(); new Thread(newRunnable(){ @Override public void run() { for(int i = 0;i < 20;i++){ manyThread.dec(); } } }).start(); } } }
設計 4 個線程,其中兩個線程每次對 j 增加 1,另外兩個線程對 j 每次減少 1。寫出程序。