扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流