下面是我面試的一道題,沒看出問題,大家看看問題在哪裡?
下面的代碼在絕大部分時間運行的很正常,請問在什麼情況會出現問題?出現什麼問題?問題的根源在哪裡?
public class Stack{ LinkedList list = new LinkedList(); // 入棧 public synchronized void push(Object x ){ synchronized( list ){ list.addLast( x ); notify(); } } //出棧 public synchronized Object pop( ) throws Exception{ synchronized( list ){ if( list.size() <= 0 ){ wait(); } return list.removeLast(); } } }