>
for (int i = 0; i
} catch (InterruptedException ex) {. getLogger (Listner.class.getName ()). log (Level.SEVERE, null, ex);
}
}
}
} class First extends Thread {start, stop; First (long start, long stop) {. start = start;. stop = stop;
}
@ Overridevoid run () {summ = 0; (int i = (int) start; i
}. plus (summ);
}
}
public class Global
private static double SumF = 0, SumS = 1; static long start, stop; static synchronized void plus (double d) {+ = d;
} static synchronized void mul (double d) {* = d;
} static synchronized double F () {Math.sqrt (6 * SumF);
} static synchronized double S () {SumS * 2;
} static synchronized void TimeStart () {= System.currentTimeMillis ();
} static synchronized void TimeStop () {
stop = System.currentTimeMillis ();
}
Скріншоти програм
В
В
Інструкція користувача
Програми мають графічний інтерфейс, і розрізняються іконками.
Програма використовує послідовний алгоритм розрахунку пі має іконку: (onethread.exe), а паралельний: (multithread.exe)
Програма onethread.exe
Програма має 3 кнопки
В«ПершийВ» - натискаючи цю кнопку ви запускаєте перший алгоритм (алгоритм Ейлера)
В«ДругийВ» - натискаючи цю кнопку ви запускаєте другий алгоритм (алгоритм Валлеса)
«« clear () В»- очищення полів
У полі В«кількість ітераційВ» вводиться кількість ітерацій від 1 до 100 000 000 000
У полі В«кількість прогонівВ» вводиться кількість повторень алгоритму, для більш точного значення.
У лівому полі виводиться число Пі, у правому час роботи алгоритму.
Програма multithread.exe
Програма має 2 кнопки
В«ПершийВ» - натискаючи цю кнопку ви запускаєте перший алгоритм (алгоритм Ейлера)
В«ДругийВ» - натискаючи цю кнопку ви запускаєте другий алгоритм (алгоритм Валлеса)
У полі В«кількість ітераційВ» вводиться кількість ітерацій від 1 до 100 000 000 000
У полі В«кількість потоківВ» вводиться кількість повторень алгоритму, для більш точного значення.
У лівому полі виводиться число Пі, у правому час роб...