synchronizedqueue.java
来自「BOOK:Beginning Algorithms Code Example」· Java 代码 · 共 55 行
JAVA
55 行
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 + =
减小字号Ctrl + -
显示快捷键?