jdk/test/java/io/BufferedReader/ReadLineSync.java
changeset 5810 e83d67ad8c96
parent 5506 202f599c92aa
child 7668 d4a77089c587
equal deleted inserted replaced
5809:6e38efd0293f 5810:e83d67ad8c96
    44         createFile(f);
    44         createFile(f);
    45         f.deleteOnExit();
    45         f.deleteOnExit();
    46 
    46 
    47         BufferedReader reader = new BufferedReader(
    47         BufferedReader reader = new BufferedReader(
    48                                 new FileReader(f));
    48                                 new FileReader(f));
    49         int threadCount = 2;
    49         try {
       
    50             int threadCount = 2;
    50 
    51 
    51         ExecutorService es = Executors.newFixedThreadPool(threadCount);
    52             ExecutorService es = Executors.newFixedThreadPool(threadCount);
    52 
    53 
    53         for (int i=0; i < threadCount; i++)
    54             for (int i=0; i < threadCount; i++)
    54             es.execute(new BufferedReaderConsumer(reader));
    55                 es.execute(new BufferedReaderConsumer(reader));
    55 
    56 
    56         // Wait for the tasks to complete
    57             // Wait for the tasks to complete
    57         es.shutdown();
    58             es.shutdown();
    58         while (!es.awaitTermination(60, TimeUnit.SECONDS));
    59             while (!es.awaitTermination(60, TimeUnit.SECONDS));
       
    60         } finally {
       
    61             reader.close();
       
    62         }
    59     }
    63     }
    60 
    64 
    61     static class BufferedReaderConsumer extends Thread {
    65     static class BufferedReaderConsumer extends Thread {
    62         BufferedReader reader;
    66         BufferedReader reader;
    63 
    67