gpt4 book ai didi

java - Java 中的同步列表/映射(如果只有一个线程正在写入)

转载 作者:行者123 更新时间:2023-12-03 03:00:45 25 4
gpt4 key购买 nike

第一个线程正在不断地用对象填充集合。第二个线程需要迭代这些对象,但不会更改集合。

目前我使用Collection.synchronized来使其线程安全,但是有没有快速的方法来做到这一点?

更新

很简单:只要按下鼠标按钮,第一个线程(ui)就会不断地将鼠标位置写入ArrayList。第二个线程(渲染)根据列表绘制一条线。

最佳答案

使用java.util.concurrent.ArrayBlockingQueue.ArrayBlockingQueue实现BlockingQueue。它完全适合您的需求。

  1. 它非常适合生产者-消费者案例,就像您的情况一样。

  2. 您还可以配置访问策略。 Javadoc 对访问策略的解释如下:

    Fair if true then queue accesses for threads blocked on insertion or removal, are processed in FIFO order; if false the access order is unspecified.

关于java - Java 中的同步列表/映射(如果只有一个线程正在写入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com