... java.util.concurrent.ExecutorService; 5 import java.util.concurrent.Executors;
6 import java.util.concurrent.TimeUnit;
7
8 public class BlockingBufferTest {
9 public static void main(String[] args) throws InterruptedException {
10 // create new thread pool
11 ExecutorService executorService = Executors.newCachedThreadPool();
12
13 // create BlockingBuffer to store ints
14 Buffer sharedLocation = new BlockingBuffer();
15
16 executorService.execute(new Producer(sharedLocation));
17 executorService.execute(new Consumer(sharedLocation));
18
19 executorService.shutdown();
20 executorService.awaitTermination(1, TimeUnit.MINUTES);
21 }
22 }
Producer writes 1 Buffer cells occupied: 1 Consumer reads 1 Buffer cells occupied: 0 Producer writes 2 Buffer cells ...
Get Java How To Program, Late Objects, 11th Edition now with the O’Reilly learning platform.
O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.