deadlockdemo2.java

来自「java 教程相应的代码 全是自己写的内附注释 很容易看明白的」· Java 代码 · 共 45 行

JAVA
45
字号
package demo.chapter09.lock;

public class DeadLockDemo2 {

	public static void main(String[] args) throws InterruptedException {
		class MyThread extends Thread {
			
			private char[] source;
			private char[] dest;
			
			public MyThread(char[] source, char[] dest) {
				this.source = source;
				this.dest = dest;
			}
			@SuppressWarnings("static-access")
			@Override
			public void run() {
				System.out.println(this.getName() + "线程开始");
				synchronized (source) {
					try {
						this.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					synchronized (dest) {
						System.arraycopy(source, 0, dest, 0, source.length);
					}
				}
				System.out.println(this.getName() + "线程结束");
			}
		};

		char[] c1 = {'A', 'B', 'C', 'D'};
		char[] c2 = {'1', '2', '3', '4'};
		
		MyThread t1 = new MyThread(c1, c2);
		t1.start();
		
		MyThread t2 = new MyThread(c1, c2);
		t2.start();
		
	}

}

⌨️ 快捷键说明

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