Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.concurrent.*;
- public class Main {
- public static void main(String[] args) {
- double start = 0;
- double end = Math.PI;
- double dx = 0.001;
- int threadNumber = 5;
- Calka_callable calka_callable = new Calka_callable(start,end,dx);
- try {
- calka_callable.call();
- } catch (Exception e) {
- e.printStackTrace();
- }
- ThreadPoolExecutor executor = (ThreadPoolExecutor)Executors.newFixedThreadPool(threadNumber);
- List<Future<Double>> results = new ArrayList<>();
- double compartmentLength = (end - start)/threadNumber;
- double lastPosition = compartmentLength*(threadNumber-1);
- for (int i = 0; i<threadNumber-1; i++){
- Callable<Double> callable = new Calka_callable(i*compartmentLength, i*compartmentLength+compartmentLength, dx);
- Future<Double> result = executor.submit(callable);
- results.add(result);
- }
- Callable<Double> callable = new Calka_callable(lastPosition, lastPosition+compartmentLength, dx);
- Future<Double> result = executor.submit(callable);
- results.add(result);
- double finalResult = 0;
- for (Future<Double> future: results){
- try {
- finalResult+=future.get();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (ExecutionException e) {
- e.printStackTrace();
- }
- }
- System.out.println("Final result: "+finalResult);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement