waitqueue.java
来自「RFID复杂事件处理系统的研究实验」· Java 代码 · 共 96 行
JAVA
96 行
package test1;
import java.util.LinkedList;
public class WaitQueue implements EventReceiver{
private LinkedList<P_Event> queue=new LinkedList<P_Event>();
private LinkedList<P_Event> queueq=new LinkedList<P_Event>();
WaitQueue(){}
public synchronized void acceptEvent(P_Event e)
{
queue.addLast(e);
/*int i;
for(i=0;i<queueq.size();i++)
{
if(queueq.get(i).gettimestamp()>e.gettimestamp())
break;
}
queueq.add(i,e);*/
this.notify();
}
public synchronized void acceptEvents(LinkedList<P_Event> pel)
{
queue.addAll(pel);
for(int i=0;i<pel.size();i++)
{
/*int ii;
POINT:for(ii=0;ii<queueq.size();ii++)
{
if(queueq.get(ii).gettimestamp()>pel.get(i).gettimestamp())
break POINT;
}
queueq.add(ii,pel.get(i));*/
this.notify();
}
}
public synchronized void acceptEventss(LinkedList<P_Event> pel)
{
/*for(int i=0;i<pel.size();i++)
{
int ii;
POINT:for(ii=0;ii<queueq.size();ii++)
{
if(queueq.get(ii).gettimestamp()>pel.get(i).gettimestamp())
break POINT;
}
queueq.add(ii,pel.get(i));
}*/
queueq.addAll(pel);
}
public synchronized P_Event getEvent()
{
try
{
if(queue.size()==0)
{
this.wait();
}
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return queue.removeFirst();
}
public int getsize()
{
return queue.size();
}
public LinkedList<P_Event> getQueue() {
return queue;
}
public LinkedList<P_Event> getQueueq() {
return queueq;
}
public void setQueueq(LinkedList<P_Event> queueq) {
this.queueq = queueq;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?