Используйте интерфейс Runnable для написания многопоточного вычисления факториала, требующего один поток для вычисления m=4, n=4 и один поток для вычисления суммы формул, когда m=6, n=3 и перекрестный вывод. результаты расчетов в ходе рабочего процесса.

тема

Используйте интерфейс Runnable для написания многопоточности для вычисления 1 n 1^{n}1п +2 п 2^{n}2п +3 п 3^{n}3п +мнм^{n}мn , один поток требуется для вычисления m=4, n=4, а один поток требуется для вычисления суммы формул, когда m=6, n=3, а вычисленные результаты перекрёстно выводятся во время выполнения процесса.
Совет: используйте метод Sleep() для реализации многопоточности.
Вывод результата при работе программы:
m=6, сумма n=3=1
m=4, сумма n=4=1
m=6, сумма n=3=9
m=4, сумма n=4= 17

/**
 * @Auther: 茶凡
 * @ClassName factorial
 * @Description TODO
 * @date 2023/6/8 15:54
 * @Version 1.0
 */
public class Factorial {
    
    

    public static void main(String[] args) throws InterruptedException {
    
    
        Factorial factorial = new Factorial();

        Thread thread = new Thread(new Runnable() {
    
    

            @Override
            public void run() {
    
    
                 factorialFun(4,4);
            }
        });

        Thread thread1 = new Thread(new Runnable() {
    
    
            @Override
            public void run() {
    
    
                 factorialFun1(6,3);
            }
        });

        thread.start();
        thread1.start();

        try {
    
    
            // 让主线程等待子线程执行完毕
            thread.join();
            thread1.join();
        } catch (InterruptedException e) {
    
    
            e.printStackTrace();
        }

    }

    public static void factorialFun(int m,int n){
    
    
        double sum = 0;
        int i = 1;
        while(m>=i){
    
    
            sum += Math.pow(i++,n);
            System.out.println("m=4,n=4的和 = " + sum);
        }
    }

    public static void factorialFun1(int m,int n){
    
    
        double sum = 0;
        int i = 1;
        while(m>=i){
    
    
            sum += Math.pow(i++,n);
            System.out.println("m=6,n=3的和 = " + sum);
        }
    }

}

Результаты теста

Сумма m=4, n=4 = 1,0 Сумма
m=6, n=3 = 1,0 Сумма
m=4, n=4 = 17,0 Сумма
m=6, n=3 = 9,0
m= 4,n= Сумма 4 = 98,0
Сумма m=6, n=3 = 36,0 Сумма
m=4, n=4 = 354,0 Сумма
m=6, n=3 = 100,0 Сумма
m =6, n=3 = 225,0
м =6, сумма n=3 = 441,0

おすすめ

転載: blog.csdn.net/weixin_45833112/article/details/131155720