# 死結的範例 ```java= public class Counter extends Thread{ int i = 10; public synchronized void display(Counter obj) { try { Thread.sleep(5); obj.increament(this); System.out.println(i); }catch(InterruptedException ex) { } } public synchronized void increament(Counter obj) { i++; } public static void main(String[] args) { final Counter obj1 = new Counter(); final Counter obj2 = new Counter(); new Thread(new Runnable() { public void run() { obj1.display(obj2); } }).start(); new Thread(new Runnable() { public void run() { obj2.display(obj1); } }).start(); } } ``` ## From what threading problem does the program suffer? A. race condition **B. deadlock** C. starvation D. livelock - [x] **Answer: B** ###### tags: `ocpjp`