遇到问题求解答

来源:5-22 总结_

慕工程5501163

2020-05-26

面试问题 请问在什么情况下会出现问题?问题的根源在哪里?
import java.util.LinkedList;
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();
}
}
}

写回答

1回答

悟空

2020-05-27

可变对象不应作为synchronized代码块里面的类

1
6
SpotifyLoveYou
回复
悟空
我刚自己已经想明白了
2020-07-03
共6条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程