📄 thread_monitor.java
字号:
// Test that monitor locks work and are recursive.// Origin: Bryce McKinlay <bryce@albatross.co.nz>class T implements Runnable{ public int count = 0; Counter c; public T (Counter c) { this.c = c; } public void run() { while (true) { // NOTE: double-synchronization here. synchronized (c) { if (c.getCount() <= 100000) count++; else break; } } }}class Counter{ int i = 0; public synchronized int getCount () { return ++i; }}public class Thread_Monitor{ public static void main(String args[]) { Counter c = new Counter(); T t1 = new T(c); T t2 = new T(c); Thread th1 = new Thread(t1); Thread th2 = new Thread(t2); th1.start(); th2.start(); try { th1.join(); th2.join(); } catch (InterruptedException x) { System.out.println("failed: Interrupted"); } if (t1.count + t2.count == 100000) System.out.println ("ok"); else System.out.println ("failed: total count incorrect"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -