ConcurrentQueue q = new ConcurrentQueue(100);
ExecutorService service = Executors.newFixedThreadPool(20);
service.execute(new Producer(q));
for (int i=0; i < 18; i++) {
service.execute(new Consumer(q));
}
Где Consumer
и Producer
- это пользовательские классы, которые расширяют Runnable и принимают Queue
в качестве аргумента конструктора.