package com.cooly;import java.util.LinkedList;/*** @author Coolyqq*印刷プリンタ キューの印刷をシミュレート*Distribution クラス*/public class DataDistribute {private static DataDistribute インスタンス = null;private Final static byte[] obj = new byte[0];//ロック機構 private LinkedList<DataDistributeEntity> task = null;//配布タスク private boolean isColse = true;private DataDistribute() {tasks = new LinkedList<DataDistributeEntity>();}/*** @return* インスタンスを取得*/public static DataDistribute getInstance(){if(instance == null){synchronized (obj) {if(instance == null) {instance = new DataDistribute();}}}return インスタンス ;}/*** @param エンティティ* タスクの追加*/public void addTask(DataDistributeEntityエンティティ){同期 (obj) {tasks.add(entity);}}/*** @param エンティティ* タスクをすぐに追加します*/public void addSpeedTask(DataDistributeEntity エンティティ){同期 (obj) {tasks.addFirst(entity); }} public void start(ICallBack callback){if(tasks==null||tasks.isEmpty()||!this.isColse){return;}else{this.isColse = false;}while(true){DataDistributeEntity エンティティ = task.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;}}