使用java编写设置4个线程对象,2个执行加的方法,两个执行减操作
时间: 2024-03-17 22:46:40 浏览: 23
可以使用Java中的线程池ExecutorService和Callable来实现这个功能。下面是一个简单的代码示例:
```
import java.util.concurrent.*;
public class ThreadDemo {
public static void main(String[] args) throws Exception {
ExecutorService executorService = Executors.newFixedThreadPool(4);
Future<Integer> future1 = executorService.submit(new AddThread());
Future<Integer> future2 = executorService.submit(new AddThread());
Future<Integer> future3 = executorService.submit(new SubtractThread());
Future<Integer> future4 = executorService.submit(new SubtractThread());
int result = future1.get() + future2.get() - future3.get() - future4.get();
System.out.println("Result: " + result);
executorService.shutdown();
}
}
class AddThread implements Callable<Integer> {
@Override
public Integer call() throws Exception {
int sum = 0;
for (int i = 1; i <= 100000; i++) {
sum += i;
}
return sum;
}
}
class SubtractThread implements Callable<Integer> {
@Override
public Integer call() throws Exception {
int sum = 0;
for (int i = 1; i <= 100000; i++) {
sum -= i;
}
return sum;
}
}
```
在这个示例中,我们创建了一个ExecutorService线程池,使用newFixedThreadPool方法创建了一个固定大小为4的线程池。然后我们提交了4个任务,其中两个是AddThread实例,另外两个是SubtractThread实例。每个线程执行的是一个简单的加或减操作。最后我们将4个线程的结果相加,得到最终的结果并输出。最后一定要调用shutdown方法关闭线程池。