JAVA 数据结构之Queue处理实例代码
javaQueue处理
实例代码:
importjava.util.LinkedList; importjava.util.Queue; privatestaticQueue<FrameStruct>frameQueue=newLinkedList<FrameStruct>(); privatestaticLocklock=newReentrantLock(); privatePlayerThreadp=newPlayerThread();
从队列取数据进行处理:
privateclassPlayerThreadextendsThread{
@Override
publicvoidrun(){
FrameStructframe;
while(bPlayRun)
{
if(bCanFlush)
{
lock.lock();
while((frame=frameQueue.poll())!=null)
{
onFrame(frame.buf,0,frame.len);
try{
Thread.sleep(30);
}catch(InterruptedExceptione){
}
}
lock.unlock();
}
}
}
}
另一线程将数据放入队列:
FrameStructframe=newFrameStruct(); frame.buf=newbyte[byteCount]; frame.len=byteCount; System.arraycopy(frameData,0,frame.buf,0,byteCount); lock.lock(); frameQueue.offer(frame); lock.unlock();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西