package com.cooly;import java.util.LinkedList;/*** @author coolyqq*模擬打印打印機(jī)排隊(duì)打印*分發(fā)類*/public class DataDistribute {private static DataDistribute instance = null;private final static byte[] obj = new byte[0];//鎖機(jī)制private LinkedList<DataDistributeEntity> tasks = null;//分發(fā)任務(wù)private boolean isColse = true;private DataDistribute() {tasks = new LinkedList<DataDistributeEntity>();}/*** @return* 獲取instance*/public static DataDistribute getInstance(){if(instance == null){synchronized (obj) {if(instance == null){instance = new DataDistribute();}}}return instance ;}/*** @param entity* 添加任務(wù)*/public void addTask(DataDistributeEntity entity){synchronized (obj) {tasks.add(entity);}}/*** @param entity* 立即添加任務(wù)*/public void addSpeedTask(DataDistributeEntity entity){synchronized (obj) {tasks.addFirst(entity);}}public void start(ICallBack callback){if(tasks==null||tasks.isEmpty()||!this.isColse){return;}else{this.isColse = false;}while(true){DataDistributeEntity entity = tasks.poll();if(entity==null){this.isColse = true;break;}callback.call(entity);tasks.remove(entity);}System.out.println("fsf");}public boolean isColse() {return isColse;}public void setColse(boolean isColse) {this.isColse = isColse;}}
新聞熱點(diǎn)
疑難解答
圖片精選