public class DeadLock {
private Integer a = 0;
private Integer b = 0;
private void createDeadLock() {
Runnable first = () -> {
for (int i = 0; i < 100000; i++) {
synchronized(this.a) {
System.out.println("锁住 a");
this.a++;
synchronized(this.b) {
this.b++;
}
System.out.println("对 a、b 的处理完成:" + a + " " + b);
}
}
};
Runnable second = () -> {
for (int i = 0; i < 100000; i++) {
synchronized(this.b) {
System.out.println("锁住 b");
this.b++;
synchronized(this.a) {
this.a++;
}
System.out.println("对 a、b 的处理完成:" + a + " " + b);
}
}
};
Thread firstThread = new Thread(first);
Thread secondThread = new Thread(second);
firstThread.start();
secondThread.start();
}
public static void main(String[] args) {
DeadLock deadLock = new DeadLock();
deadLock.createDeadLock();
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.