Advertisement
Guest User

Untitled

a guest
May 28th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.concurrent.atomic.AtomicInteger;
  4. import java.awt.Toolkit;
  5.  
  6. public class Main
  7. {
  8.  
  9.     public static int n = 100000;
  10.     public static final AtomicInteger val = new AtomicInteger(n);
  11.     public static ThreadsDecrement[] threadsArr = new ThreadsDecrement[4];
  12.  
  13.         public static class ThreadsDecrement extends Thread
  14.         {
  15.             int counter = 0;
  16.             public void run()
  17.             {
  18.                 long start = System.currentTimeMillis();
  19.  
  20.                 while(Main.val.get() > 0)
  21.                 {
  22.                     val.getAndDecrement();
  23.                     counter++;
  24.                 }
  25.  
  26.                 long end = System.currentTimeMillis();
  27.  
  28.                 Toolkit.getDefaultToolkit().beep();
  29.  
  30.                 System.out.println(this.getName() + " performed " + Integer.toString(counter) + " operations. " +
  31.                         "It took " + Double.toString(((double)(end-start)/1000L))+ " seconds.\n" +
  32.                         "remaining value = " + Integer.toString(Main.val.get()));
  33.             }
  34.  
  35.         }
  36.  
  37.         public static void main(String args[])
  38.         {
  39.             for(int i = 0; i < 4; i++)
  40.             {
  41.                 Main.threadsArr[i] = new ThreadsDecrement();
  42.                 Main.threadsArr[i].setName("Thread " + Integer.toString(i));
  43.                 Main.threadsArr[i].start();
  44.             }
  45.         }
  46.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement