Queue < E > function ( Queue < E > arg0 ) { return Synchronized . arg0 ( arg0 , null ) ; }
returns a synchronized thread-safe queue backed by the specified queue . in order to guarantee serial access , it is critical that all access to the backing queue is accomplished through the returned queue . it is imperative that the user manually synchronize on the returned queue when accessing the queue 's iterator : queue queue = queues.synchronizedqueue minmaxpriorityqueue.create ; ... queue.add element ; / / need n't be in synchronized block ... synchronized queue / / must synchronize on queue ! iterator i = queue.iterator ; / / must be in synchronized block while i.hasnext foo i.next ; failure to follow this advice may result in non-deterministic behavior . the returned queue will be serializable if the specified queue is serializable . concode_field_sep PlaceHolder placeHolder concode_field_sep SynchronousQueue<E> newSynchronousQueue concode_elem_sep ConcurrentLinkedQueue<E> newConcurrentLinkedQueue concode_elem_sep ConcurrentLinkedQueue<E> newConcurrentLinkedQueue concode_elem_sep PriorityBlockingQueue<E> newPriorityBlockingQueue concode_elem_sep PriorityBlockingQueue<E> newPriorityBlockingQueue concode_elem_sep PriorityQueue<E> newPriorityQueue concode_elem_sep PriorityQueue<E> newPriorityQueue concode_elem_sep LinkedBlockingDeque<E> newLinkedBlockingDeque concode_elem_sep LinkedBlockingDeque<E> newLinkedBlockingDeque concode_elem_sep LinkedBlockingDeque<E> newLinkedBlockingDeque concode_elem_sep LinkedBlockingQueue<E> newLinkedBlockingQueue concode_elem_sep LinkedBlockingQueue<E> newLinkedBlockingQueue concode_elem_sep LinkedBlockingQueue<E> newLinkedBlockingQueue concode_elem_sep ArrayDeque<E> newArrayDeque concode_elem_sep ArrayDeque<E> newArrayDeque concode_elem_sep ArrayBlockingQueue<E> newArrayBlockingQueue concode_elem_sep int drain concode_elem_sep int drainUninterruptibly