Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package javaapplication1;
- /**
- *
- * @author Zychu
- */
- // Uzycie interfejsu runnable, BARTOSZ IDKOWIAK
- import java.util.Random;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- class Dodawanie implements Runnable {
- public void run() {
- Thread t = Thread.currentThread();
- String name = t.getName(); //Pobierz nazwe watku
- while(JavaApplication1.suma<=100) {
- Random randomGenerator = new Random();
- int randomSkladnik = randomGenerator.nextInt(5)+1; //Generuj liczbe od 1 do 5, w celu uzyskania skladnika sumy
- int randomPrzestoj = randomGenerator.nextInt(501); //Generuj liczbe od 0 do 500, w celu uzyskania czasu przestoju w ms
- JavaApplication1.suma = JavaApplication1.suma + randomSkladnik;
- System.out.println("Watek " + name + " dodal do sumy " + randomSkladnik + " i aktualnie suma wynosi " + JavaApplication1.suma + "."); //Informuj o aktualnej sytuacji w watku
- try {
- Thread.sleep(randomPrzestoj); //Uspij watek na losowa liczbe sekund
- } catch (InterruptedException ex) {
- Logger.getLogger(Dodawanie.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- System.out.println("Koniec pracy watku " + name + ". Suma " + JavaApplication1.suma + "."); //Informuj o zakonczeniu dzialania watku
- }
- }
- class Wyswietlanie implements Runnable {
- public void run() {
- Thread t = Thread.currentThread();
- String name = t.getName(); //Pobierz nazwe watku
- while(JavaApplication1.suma<100){
- System.out.println("Watek " + name + " raportuje, ze aktualnie suma wynosi " + JavaApplication1.suma + "."); //Informuj o aktualnej sytuacji w watku
- try {
- Thread.sleep(1000); //Uspij watek na losowa liczbe sekund
- } catch (InterruptedException ex) {
- Logger.getLogger(Wyswietlanie.class.getName()).log(Level.SEVERE, null, ex);
- }
- System.out.println("Koniec pracy watku " + name + ". Ostatecznie suma wyniosła " + JavaApplication1.suma + "."); //Informuj o zakonczeniu dzialania watku
- }
- }
- }
- public class JavaApplication1 {
- public static int suma = 0;
- public static void main(String[] args) {
- Runnable runnable = new Dodawanie();
- Runnable wyswietlanie = new Wyswietlanie();
- //Stworz cztery watki, nazwij je
- Thread Pierwszy = new Thread(runnable);
- Pierwszy.setName("Pierwszy - dodawanie");
- Thread Drugi = new Thread(runnable);
- Drugi.setName("Drugi - dodawanie");
- Thread Trzeci = new Thread(runnable);
- Trzeci.setName("Trzeci - dodawanie");
- Thread Czwarty = new Thread(wyswietlanie);
- Czwarty.setName("Czwarty - wyswietlanie");
- //Wystartuj watki
- Pierwszy.start();
- Drugi.start();
- Trzeci.start();
- Czwarty.start();
- }
- }
Add Comment
Please, Sign In to add comment