packagecom.cooly;
importjava.util.LinkedList;
/**
*@authorcoolyqq
*模拟打印打印机排队打印
*分发类
*/
publicclassDataDistribute{
privatestaticDataDistributeinstance=null;
privatefinalstaticbyte[]obj=newbyte[0];//锁机制
privateLinkedList<DataDistributeEntity>tasks=null;//分发任务
privatebooleanisColse=true;
privateDataDistribute(){
tasks=newLinkedList<DataDistributeEntity>();
}
/**
*@return
*获取instance
*/
publicstaticDataDistributegetInstance(){
if(instance==null){
synchronized(obj){
if(instance==null){
instance=newDataDistribute();
}
}
}
returninstance;
}
/**
*@paramentity
*添加任务
*/
publicvoidaddTask(DataDistributeEntityentity){
synchronized(obj){
tasks.add(entity);
}
}
/**
*@paramentity
*立即添加任务
*/
publicvoidaddSpeedTask(DataDistributeEntityentity){
synchronized(obj){
tasks.addFirst(entity);
}
}
publicvoidstart(ICallBackcallback){
if(tasks==null||tasks.isEmpty()||!this.isColse){
return;
}else{
this.isColse=false;
}
while(true){
DataDistributeEntityentity=tasks.poll();
if(entity==null){
this.isColse=true;
break;
}
callback.call(entity);
tasks.remove(entity);
}
System.out.println("fsf");
}
publicbooleanisColse(){
returnisColse;
}
publicvoidsetColse(booleanisColse){
this.isColse=isColse;
}
}