Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Aufgaben;
- import java.awt.List;
- import java.util.ArrayList;
- import java.util.Random;
- //- Der Thread A erzeugt 20 zufällige int-Werte und speichert sie.
- //- Der Thread B erzeugt 30 zufällige int-Werte und speichert sie.
- //- Der main-Thread erzeugt und startet die Threads A und B. Wenn sie
- //fertig sind, bildet der main-Thread die Summe aller 50 int-Werte der beiden Threads und gibt die Summe aus.
- public class ThreadsA2 {
- static ArrayList<Integer> array = new ArrayList<Integer>();
- class MyRunnable implements Runnable {
- @Override
- public void run() {
- switch (Thread.currentThread().getName()) {
- case "A":
- for (int i = 0; i < 20; i++) {
- System.out.println("A : " + i);
- array.add(new Random().nextInt());
- }
- break;
- case "B":
- for (int i = 0; i < 30; i++) {
- System.out.println("B : " + i);
- array.add(new Random().nextInt());
- }
- break;
- }
- }
- }
- public static void main(String[] args) {
- Runnable targetA = new ThreadsA2().new MyRunnable();
- Thread A = new Thread(targetA, "A");
- Runnable targetB = new ThreadsA2().new MyRunnable();
- Thread B = new Thread(targetB, "B");
- A.start();
- try {
- A.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- B.start();
- try {
- B.join();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("Die Summe ist : " + summe());
- System.out.println("array.size() = " + array.size());
- }
- public static int summe() {
- int sum = 0;
- for (int i = 0; i < array.size(); i++) {
- sum = sum + array.get(i);
- }
- return sum;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement