家政 东莞网站建设/新的营销模式有哪些
同步队列SynchronousQueue
没有容量,进去一个元素,必须等待取出来之后,才能往里放一个元素!
/** 同步队列* SynchronousQueue 和其他的BlockingQueue 不一样,* SynchronousQueue不存储元素*/
public class SynchronousQueueTest {public static void main(String[] args) {SynchronousQueue<String> queue = new SynchronousQueue<>();new Thread(()->{try {System.out.println(Thread.currentThread().getName()+ "put 1");queue.put("1");System.out.println(Thread.currentThread().getName()+ "put 2");queue.put("2");System.out.println(Thread.currentThread().getName()+ "put 3");queue.put("3");} catch (InterruptedException e) {e.printStackTrace();}},"T1").start();new Thread(()->{try {TimeUnit.SECONDS.sleep(3);System.out.println(Thread.currentThread().getName()+ queue.take());TimeUnit.SECONDS.sleep(3);System.out.println(Thread.currentThread().getName()+ queue.take());TimeUnit.SECONDS.sleep(3);System.out.println(Thread.currentThread().getName()+ queue.take());} catch (InterruptedException e) {e.printStackTrace();}},"T2").start();}
}