Advertisement
Guest User

ThreadsA3

a guest
Apr 25th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.68 KB | None | 0 0
  1. package Aufgaben;
  2.  
  3. import java.awt.List;
  4. import java.util.ArrayList;
  5. import java.util.Random;
  6.  
  7. //Bitte einen Extra-Thread starten,
  8. //der die statische Variable `count` in einer for-Schleife 1 Mio. mal
  9. //um eins inkrementiert. Bitte in der main den Wert der Variable ausgeben.
  10.  
  11. //Einen Extra-Thread starten, der eine statische Variable `count` in einer for-Schleife 1 Mio.
  12. //mal um eins inkrementiert. Einen weiteren Extra-Thread parallel starten,
  13. //der dieselbe statische Variable `count` in einer for-Schleife 1 Mio. mal um eins dekrementiert
  14. //(bitte parallel zu dem Inkrementer-Thread). In dem main-Thread abwarten,
  15. //bis die beiden Extra-Threads fertig sind,
  16. //und anschließend den Wert der Variable `count`ausgeben.
  17. public class ThreadsA3 {
  18.     static int count;
  19.  
  20.     class MyRunnableIncrement implements Runnable {
  21.  
  22.         @Override
  23.         public void run() {
  24.             for (int i = 0; i < 1_000_000; i++) {
  25.                 count++;
  26.                
  27.             }
  28.  
  29.         }
  30.  
  31.     }
  32.     class MyRunnableDecrement implements Runnable {
  33.  
  34.         @Override
  35.         public void run() {
  36.             for (int i = 0; i < 1_000_000; i++) {
  37.                 count--;
  38.                
  39.             }
  40.  
  41.         }
  42.  
  43.     }
  44.  
  45.     public static void main(String[] args) {
  46.         Runnable target = new ThreadsA3().new MyRunnableIncrement();
  47.         Thread tIncrement = new Thread(target, "tIncrement");
  48.         tIncrement.start();
  49.  
  50.        
  51.         Runnable target1 = new ThreadsA3().new MyRunnableDecrement();
  52.         Thread tDecrement = new Thread(target1, "tDecrement");
  53.         tDecrement.start();
  54.  
  55.         try {
  56.             tIncrement.join();
  57.         } catch (InterruptedException e) {
  58.             e.printStackTrace();
  59.         }
  60.         try {
  61.             tDecrement.join();
  62.         } catch (InterruptedException e) {
  63.             e.printStackTrace();
  64.         }
  65.         System.out.println(count);
  66.  
  67.     }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement