//生产者
public class Producer implements Runnable{
private Bascket bascket ;
private String name ;
public Producer(Bascket bascket ,String name ){
this .bascket =bascket ;
this .name =name ;
}
public void run(){
while (true ){
try {
System. out .println(name +"produce.." );
bascket.add( new Apple("name" +Math.random()*100));
} catch (InterruptedException e ) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Thread. sleep(1000);
} catch (InterruptedException e ) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//消费者
public class Consumer implements Runnable{
private Bascket bascket ;
private String name ;
public Consumer(Bascket bascket ,String name ){
this .bascket =bascket ;
this .name =name ;
}
public void run(){
while (true ){
try {
System. out .println(name +":consumer" +bascket .get());
} catch (InterruptedException e1 ) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
Thread. sleep(1000);
} catch (InterruptedException e ) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
测试代码:
public class TestDemo {
public static void main(String args[]){
Bascket bascket= new Bascket();
Consumer c1= new Consumer(bascket ,"c1" );
Producer p1= new Producer(bascket ,"p1" );
Producer p2= new Producer(bascket ,"p2" );
//线程池管理
ExecutorService service = Executors. newCachedThreadPool();
service.execute( c1);
service.execute( p1);
service.execute( p2);
}
}