Java Design Demo--多线程(三)多线程异步示例

最近都在看传智播客张孝祥的视频 受益匪浅

设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1. 。看了别人的代码感觉确实学习了很多

package demo;
public class TestThread3 {

	private int j;

	public static void main(String[] args) {

		TestThread3 tt = new TestThread3();

		Inc inc = tt.new Inc();
		
		Dec dec = tt.new Dec();
		
		for(int i=0;i<2;i++){
			Thread t = new Thread(inc);
			t.start();
			t = new Thread(dec);
			t.start();
		}

	}

	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);
	}
	class Inc implements Runnable {

		public void run() {
			for(int i=0;i<5;i++){
				inc();
			}

		}

	}
	
	class Dec implements Runnable{

		public void run() {
			for(int i=0;i<5;i++){
				dec();
			}
		}
		
	}
	
	

}


你可能感兴趣的:(Java Design Demo--多线程(三)多线程异步示例)