package test;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ConsumerProducer {
private static Buffer buffer = new Buffer();
public static void main(String args[]){
ExecutorService exe = Executors.newFixedThreadPool(2);
exe.execute(new produceTask());
exe.execute(new consumerTask());
exe.shutdown();
}
public static class produceTask implements Runnable{
@Override
public void run() {
int i = 1;
try{
while(true){
System.out.println("produce write"+i);
buffer.write(i++);
Thread.sleep((int) (Math.random()+1000));
}
}
catch(InterruptedException ex){
ex.printStackTrace();
}
}
}
public static class consumerTask implements Runnable{
@Override
public void run() {
try{
while(true){
System.out.println("\t\tconsumer delete "+buffer.remove());
buffer.remove();
Java语言程序设计-进阶篇(八)多线程与并行程序设计【实例】
最新推荐文章于 2022-07-10 20:22:04 发布