JAVA 数据结构之Queue处理实例代码

2025-05-29 0 54

java Queue处理

实例代码:

?

1

2

3

4

5
import java.util.LinkedList;

import java.util.Queue;

private static Queue<FrameStruct> frameQueue = new LinkedList<FrameStruct>();

private static Lock lock = new ReentrantLock();

private PlayerThread p = new PlayerThread();

从队列取数据进行处理:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
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();

}

}

}

}

另一线程将数据放入队列:

?

1

2

3

4

5

6

7
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();

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 JAVA 数据结构之Queue处理实例代码 https://www.kuaiidc.com/118460.html

相关文章

发表评论
暂无评论