package com.cooly;import java.util.LinkedList;/*** @author Coolyqq*محاكاة الطباعة في قائمة انتظار الطابعة*فئة التوزيع*/الفئة العامة DataDistribute {مثيل DataDistribute ثابت خاص = فارغ؛ بايت ثابت نهائي خاص[] obj = جديد byte[0];// آلية القفل Private LinkedList<DataDistributeEntity> Tasks = null;//مهام التوزيع public 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();}}}إرجاع المثيل؛}/*** @param الكيان* إضافة مهمة*/public void addTask(DataDistributeEntity كيان) {متزامن (obj) {tasks.add(entity);}}/*** @param الكيان* أضف المهام على الفور*/public void addSpeedTask(DataDistributeEntity الكيان){synchronized (obj) {tasks.addFirst(entity); }}بداية باطلة عامة (ICallBack رد الاتصال){if(tasks==null||tasks.isEmpty()||!this.isColse){return;}else{this.isColse = false;}while(true){DataDistributeEntity الكيان = المهام.poll(); إذا (الكيان==فارغ){this.isColse = true;break;}callback.call(entity);tasks.remove(entity);}System.out.println("fsf");}المنطقية العامة isColse() {return isColse;}public void setColse(boolean isColse) { this.isColse = isColse;}}