gpt4 book ai didi

java - 如何在java中并行执行具有不同输入的方法的多个实例?

转载 作者:行者123 更新时间:2023-11-29 06:41:41 25 4
gpt4 key购买 nike

我有一个方法,它接受一个列表并对其进行一些处理,然后更新另一个全局列表。我需要使用并行输入的不同列表运行此方法的多个实例。多线程支持吗?如果是,我该如何使用它,即:我应该在线程中放入什么?高度赞赏示例。


我正在考虑在线程类中有一个静态列表,它在运行时由线程的不同实例更新(该列表包含字符串和计数器,因此更新是添加新字符串或增加现有字符串的计数器) ..我需要每10秒读取一次添加到这个全局列表中的任何内容并打印出来..正在使用适合这个的静态列表,我怎样才能让它线程安全?

最佳答案

是的,这是多线程编程的一种非常常见的用法。

class ListProcessor implements Runnable {
/* field/s representing param/s */
public ListProcessor(/* param/s */) {
/* ... */
}

@Override
public void run() {
/* process list */
}
}

然后,当你想实际处理一些列表时。

class SomeClass {
ExecutorService listProcessor;
public SomeClass(/* ... */) {
listProcessor = ExecutorService.newFixedThreadPool(numThreads);
/* for each thread, however you want to do it */
listProcessor.execute(new ListProcessor(/* param/s */));
/* when finished adding threads */
listProcessor.shutdown();
/* note that the above two lines of code (execute/shutdown) can be
* placed anywhere in the code. I just put them in the constructor to
* facilitate this example.
*/
}
}

关于java - 如何在java中并行执行具有不同输入的方法的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127792/

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