当前位置: 移动技术网 > IT编程>开发语言>Java > 模拟打印机排队打印效果

模拟打印机排队打印效果

2019年07月22日  | 移动技术网IT编程  | 我要评论
package com.cooly;

import java.util.linkedlist;

/**
* @author coolyqq
*模拟打印打印机排队打印
*分发类
*/
public class datadistribute {

private static datadistribute instance = null;
private final static byte[] obj = new byte[0];//锁机制
private linkedlist<datadistributeentity> tasks = null;//分发任务
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
* 添加任务
*/
public void addtask(datadistributeentity entity){
synchronized (obj) {
tasks.add(entity);
}
}

/**
* @param entity
* 立即添加任务
*/
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;
}
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网