gpt4 book ai didi

java - 在java中的多线程之间维护相同的同步数组列表

转载 作者:行者123 更新时间:2023-11-30 07:38:52 27 4
gpt4 key购买 nike

我刚刚接触线程。所以我需要一些帮助。

对于某些工作,我需要一个数组列表,该值将由所有线程共享。我想要这样的东西, main() 类将在线程创建时向线程提供数组列表。线程将向数组列表添加值,线程所做的更改将反射(reflect)在该数组列表的每个副本中,重要的是,这必须以同步方式完成。

例如,main() 类为两个线程提供了数组列表。然后第一个线程在数组的槽 1 上添加了一个值,第二个线程在添加时将看到变化,并且当它添加时,它将添加到第二个位置。当 main 将数组列表提供给新线程时,之前所做的所有更改都将很容易包含在内,并且它将从第三个或更高的位置开始添加。另一件事是,一次只能有一个线程进行更改,否则应该同步。

我怎样才能在java中做到这一点?谁能帮帮我吗?

最佳答案

集合框架为同步提供了方便的包装器:

        List<TypeOfItem> list = Collections.synchronizedList( new ArrayList<>() );

您可以通过不同的线程传递这样的列表以进行添加、删除、读取等。每次访问都会同步。

关于java - 在java中的多线程之间维护相同的同步数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34973996/

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