testthread2.java

来自「该文件在eclipse环境上运行」· Java 代码 · 共 51 行

JAVA
51
字号
package test.thread;

public class TestThread2 {
	static int i = 200;
	static Object lock = new Object();
	public static void main(String[] args) {
		Thread add = new AddThread();
		Thread sub = new SubThread();
		add.start();
		sub.start();
		try {
			Thread.sleep(6000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("i = " + i);
	}
}
class AddThread extends Thread{
	public void run(){
		for(int j=0; j<100; j++){
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			synchronized(TestThread2.lock){
				TestThread2.i = TestThread2.i + 1;
			}
			System.out.println("add: " + TestThread2.i);
		}
	}
}
class SubThread extends Thread{
	public void run(){
		for(int j=0; j<100; j++){
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			synchronized(TestThread2.lock){
				TestThread2.i = TestThread2.i - 1;
			}
			System.out.println("sub: " + TestThread2.i);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?