这篇文章主要介绍了JAVA 数据结构之Queue处理实例代码的相关资料,需要的朋友可以参考下
java Queue处理
实例代码:
import java.util.LinkedList; import java.util.Queue; private static QueueframeQueue = new LinkedList (); private static Lock lock = new ReentrantLock(); private PlayerThread p = new PlayerThread();
从队列取数据进行处理:
private class PlayerThread extends Thread { @Override public void run() { FrameStruct frame; while(bPlayRun) { if(bCanFlush) { lock.lock(); while((frame=frameQueue.poll())!=null) { onFrame(frame.buf, 0, frame.len); try { Thread.sleep(30); } catch (InterruptedException e) { } } lock.unlock(); } } } }
另一线程将数据放入队列:
FrameStruct frame = new FrameStruct(); frame.buf = new byte[byteCount]; frame.len = byteCount; System.arraycopy(frameData, 0, frame.buf, 0, byteCount); lock.lock(); frameQueue.offer(frame); lock.unlock();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
以上就是JAVA 数据结构之Queue处理实例代码的详细内容,更多请关注0133技术站其它相关文章!