使用一个或多个堆栈实现线程安全队列-Java

时间:2018-11-07 13:00:08

标签: java multithreading stack queue

这是面试问题。
第一部分是使用一个或多个堆栈来实现队列。这是一个众所周知的问题,我给出了与方法2 here类似的答案。

在第二部分,我被问到我编写的代码是否是线程安全的。我的回答是,这是不安全的,因为多个线程可能同时修改同一对象(第一或第二堆栈)。

然后有人问我是否可以使此代码成为线程安全的。我建议用Stack<Integer>替换ConcurrentLinkedDeque<Integer>类,这是一个线程安全的堆栈。

面试官似乎不喜欢这个主意。
您是否对如何使代码线程安全有更好的想法?

0 个答案:

没有答案