From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing1606.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing1606.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing1606.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing1606.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing1606.java new file mode 100644 index 0000000..3bfe00f --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing1606.java @@ -0,0 +1,31 @@ +/* Listing1606.java */ + +public class Listing1606 +{ + public static long testSleep(int millis) + { + final int MINDURATION = 3000; + int cnt = (millis >= MINDURATION ? 1 : MINDURATION/millis); + long start = System.currentTimeMillis(); + for (int i = 0; i < cnt; ++i) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + } + } + long end = System.currentTimeMillis(); + return (end - start) / cnt; + } + + public static void main(String[] args) + { + final int DATA[] = {345, 27, 1, 1962, 2, 8111, 6, 89, 864}; + for (int i = 0; i < DATA.length; ++i) { + System.out.println("Aufruf von sleep(" + DATA[i] + ")"); + long result = testSleep(DATA[i]); + System.out.print(" Ergebnis: " + result); + double prec = ((double)result / DATA[i] - 1.0) * 100; + System.out.println(" (" + (prec > 0 ? "+": "") + prec + " %)"); + } + } +} \ No newline at end of file -- cgit v1.2.3