我希望能够在我的 main 方法中创建多个线程,让每个线程运行代码以通过在每个线程上调用 run() 来生成某些对象,然后让每个线程在完成后将这些对象添加到共享的 ArrayList 中。所以现在我有 myclass Threader implements Runnable{和 my public class Processor,我的main方法是唯一的方法。我的main方法在传递我想要的相关参数时创建i线程,然后调用start()它们中的每一个。在start()我的类的方法中,我Threader运行了一些我编写的代码,最后创建了一个自定义Document对象。当线程成功创建该对象时,我希望它能够将其添加到documentsArrayList 类型<documents>。所以我假设我想让 ArrayList 同步,但是我会在哪里实例化它以便我也可以从我的main方法中访问它?
2 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
List
在您的方法中创建一个同步的,main
然后您可以将其传递给该main
方法创建的线程。在方法中使用类似接口List
而不是具体类ArrayList
作为参数可以帮助您将其解耦Threader
到具体类。
在该main
方法中,您可以创建一个ArrayList
然后使用Collections.synchronuzedList
将其转换为同步的List
。
慕的地6264312
TA贡献1817条经验 获得超6个赞
使 List 成为 Threader 类中的静态字段,或在 main 中实例化它并将其传递给每个线程。无论哪种方式,您可能都想考虑使用同步集合,或者您必须实现自己的同步方法来添加、获取等......
添加回答
举报
0/150
提交
取消