Advertisement
Guest User

Untitled

a guest
May 5th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.51 KB | None | 0 0
  1. public class Zadanie1 extends Thread {
  2.     private static long start_time_array[] = new long[1000];
  3.     private static long stop_time_array[] = new long[1000];
  4.  
  5.     private static long start_time = 0;
  6.     private static long stop_time = 0;
  7.  
  8.     private static volatile boolean running = true;
  9.  
  10.     public static void main(String[] args) {
  11.         for (int i = 0; i < 1000; i++) {
  12.             Thread t = new Thread(new Zadanie1());
  13.             running = true;
  14.  
  15.             start_time = getTime();
  16.             t.start();
  17.             stop_time = getTime();
  18.  
  19.             start_time_array[i] = stop_time - start_time;
  20.  
  21.             start_time = getTime();
  22.             stopThread();
  23.             while (t.isAlive()) {
  24.             }
  25.             stop_time = getTime();
  26.  
  27.             stop_time_array[i] = stop_time - start_time;
  28.         }
  29.  
  30.         System.out.println("Average start time: " + calculateStartTime());
  31.         System.out.println("Average stop time: " + calculateStopTime());
  32.     }
  33.  
  34.     @Override
  35.     public void run() {
  36.         while (running) {
  37.         }
  38.     }
  39.  
  40.     private static void stopThread() {
  41.         running = false;
  42.     }
  43.  
  44.     private static long getTime() {
  45.         return System.nanoTime();
  46.     }
  47.  
  48.     private static Double calculateStartTime() {
  49.         long average_time = 0;
  50.  
  51.         for (int i = 0; i < start_time_array.length; i++) {
  52.             average_time += start_time_array[i];
  53.         }
  54.  
  55.         return (double) (average_time / start_time_array.length);
  56.     }
  57.  
  58.     private static Double calculateStopTime() {
  59.         long average_time = 0;
  60.  
  61.         for (int i = 0; i < stop_time_array.length; i++) {
  62.             average_time += stop_time_array[i];
  63.         }
  64.  
  65.         return (double) (average_time / stop_time_array.length);
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement