тема
Используйте интерфейс 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