示例#1
0
 public static ClosableBlockingQueue<InputData> testQueue(int start) {
   final ClosableBlockingQueue<InputData> dataQueue = new ClosableBlockingQueue<>(5);
   final ExecutorService executorService =
       Executors.newSingleThreadExecutor(
           new ThreadFactoryBuilder()
               .setNameFormat("test-queue-supplier-%d")
               .setDaemon(true)
               .build());
   CompletableFuture.supplyAsync(
       () -> {
         for (int i = 0; i < 10; i++) {
           try {
             //                    TimeUnit.SECONDS.sleep(2);
             dataQueue.put(new InputData("data", i + start + 1));
           } catch (InterruptedException e) {
             e.printStackTrace();
           }
         }
         try {
           dataQueue.close();
         } catch (IOException e) {
           e.printStackTrace();
         }
         return true;
       },
       executorService);
   return dataQueue;
 }