Advertisement
Guest User

ThreadsA2

a guest
Apr 25th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 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. //- Der Thread A erzeugt 20 zufällige int-Werte und speichert sie.
  8. //- Der Thread B erzeugt 30 zufällige int-Werte und speichert sie.
  9. //- Der main-Thread erzeugt und startet die Threads A und B. Wenn sie
  10. //fertig sind, bildet der main-Thread die Summe aller 50 int-Werte der beiden Threads und gibt die Summe aus.
  11.  
  12.  
  13. public class ThreadsA2 {
  14.     static ArrayList<Integer> array = new ArrayList<Integer>();
  15.  
  16.     class MyRunnable implements Runnable {
  17.  
  18.         @Override
  19.         public void run() {
  20.  
  21.             switch (Thread.currentThread().getName()) {
  22.             case "A":
  23.  
  24.                 for (int i = 0; i < 20; i++) {
  25.                     System.out.println("A : " + i);
  26.                     array.add(new Random().nextInt());
  27.  
  28.                 }
  29.  
  30.                 break;
  31.  
  32.             case "B":
  33.                 for (int i = 0; i < 30; i++) {
  34.                     System.out.println("B : " + i);
  35.                     array.add(new Random().nextInt());
  36.  
  37.                 }
  38.                 break;
  39.             }
  40.  
  41.         }
  42.  
  43.     }
  44.  
  45.     public static void main(String[] args) {
  46.         Runnable targetA = new ThreadsA2().new MyRunnable();
  47.         Thread A = new Thread(targetA, "A");
  48.  
  49.         Runnable targetB = new ThreadsA2().new MyRunnable();
  50.         Thread B = new Thread(targetB, "B");
  51.         A.start();
  52.  
  53.         try {
  54.             A.join();
  55.         } catch (InterruptedException e) {
  56.             e.printStackTrace();
  57.         }
  58.  
  59.         B.start();
  60.  
  61.         try {
  62.             B.join();
  63.         } catch (InterruptedException e) {
  64.             // TODO Auto-generated catch block
  65.             e.printStackTrace();
  66.         }
  67.  
  68.         System.out.println("Die Summe ist :  " + summe());
  69.         System.out.println("array.size() = " + array.size());
  70.  
  71.     }
  72.  
  73.     public static int summe() {
  74.         int sum = 0;
  75.         for (int i = 0; i < array.size(); i++) {
  76.             sum = sum + array.get(i);
  77.  
  78.         }
  79.         return sum;
  80.  
  81.     }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement