Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. final TransferQueue<String> transferQueue = new LinkedTransferQueue<String>();
  2.  
  3. Runnable producer = new Runnable() {
  4.  
  5.   @Override
  6.   public void run() {
  7.     try {
  8.       System.out.println("Before Transfer.");
  9.       transferQueue.transfer("Hello World!!");
  10.       System.out.println("After Transfer.");
  11.     } catch (InterruptedException e) {
  12.       e.printStackTrace();
  13.     }
  14.   }
  15. };
  16.  
  17. Runnable consumer = new Runnable() {
  18.  
  19.   @Override
  20.   public void run() {
  21.     try {
  22.       Thread.sleep(5000);
  23.       System.out.println("Before Consumer.");
  24.       System.out.println(transferQueue.poll());
  25.       System.out.println("After Consumer.");
  26.     } catch (InterruptedException e) {
  27.       e.printStackTrace();
  28.     }
  29.   }
  30. };
  31.  
  32. Thread t1 = new Thread(producer);
  33. Thread t2 = new Thread(consumer);
  34.                
  35. t1.start();
  36. t2.start();