📄 synchronizedqueue.java
字号:
package com.wrox.algorithms.queues;/** * A simple thread-safe {@link Queue}. * * TODO: Test. */public class SynchronizedQueue implements Queue { /** The lock object to use for synchronisation. */ private final Object _mutex = new Object(); /** The underlying queue. */ private final Queue _queue; /** * Constructor. * * @param queue The underlying Queue. */ public SynchronizedQueue(Queue queue) { assert queue != null : "queue can't be null"; _queue = queue; } public void enqueue(Object value) { synchronized (_mutex) { _queue.enqueue(value); } } public Object dequeue() throws EmptyQueueException { synchronized (_mutex) { return _queue.dequeue(); } } public void clear() { synchronized (_mutex) { _queue.clear(); } } public int size() { synchronized (_mutex) { return _queue.size(); } } public boolean isEmpty() { synchronized (_mutex) { return _queue.isEmpty(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -