如何对同一类中的多个方法使用Java多线程?
我是Java新手。我有一个方法如何对同一类中的多个方法使用Java多线程?,java,multithreading,Java,Multithreading,我是Java新手。我有一个方法functionX(List),它在functionY中被多次调用 class A { void functionX(List<Object>){ ... } Void functionY { while(condition) { functionX(); } } } 现在我想使用多线程为列表中的每个元素执行functionX方法。我不知道怎么做。感谢您的
functionX(List)
,它在functionY
中被多次调用
class A {
void functionX(List<Object>){
...
}
Void functionY {
while(condition) {
functionX();
}
}
}
现在我想使用多线程为
列表中的每个元素执行functionX
方法。我不知道怎么做。感谢您的帮助。@mohan.t,在您的问题中。您已经询问您想要列表元素的并行处理
在您的问题描述中,您没有提到它的作用——因此我将使它成为通用的
class A {
void functionX(List<YourClass> myList){
ExecutorService exs = Executors.newFixedThreadPool("expected size of list");
for( Runnable r : myList){
exs. submit(r);
}
exs.shutdown();
}
Void functionY {
while(condition) {
functionX();
}
}
}
检查如何在java中创建和运行线程,并查看Executor框架
如果这些对象是不可修改的,也就是说,如果您无法将其更改为实现runnable--回发--我们可以查看更复杂的选项。我建议从官方开始。您需要理解这些概念,因为它们不是那么简单。您的类A必须实现可运行接口。请参阅:然后选中:“…使用多线程执行方法…”不清楚您的要求。我赞同海因·布劳德的话:是时候读一些教程了。
class A {
void functionX(List<YourClass> myList){
ExecutorService exs = Executors.newFixedThreadPool("expected size of list");
for( Runnable r : myList){
exs. submit(r);
}
exs.shutdown();
}
Void functionY {
while(condition) {
functionX();
}
}
}
Class YourClass implements Runnable{
@override
public void run(){
...
// your logic goes here
}
}