/* Tiedosto: LaskuriTesti.java Tekijä: Juha Peltomäki, 8.1998. Aihe: Luodaan laskurisäikeet käyttämällä Runnable-rajapintaa sekä olemassa olevaa laskuri-luokkaa. Neljä erillistä säiettä, jotka laskevat luvut 0-4, 5-9, 10-14, 15-19. */ //------------------------------------------------------- class Laskuri { int arvo; public Laskuri(int alkuarvo) { this.arvo = alkuarvo; } public synchronized int kasvata(int lisays) { int tmp = this.arvo; this.arvo = tmp + lisays; return tmp; } } //------------------------------------------------------- class LaskurinKasittelija implements Runnable{ Laskuri lask; int lopetus, i; public LaskurinKasittelija(int alkuarvo, int lopetus_arvo) { lask = new Laskuri(alkuarvo); lopetus = lopetus_arvo; i = alkuarvo; } public void run() { while (i < lopetus) { i = lask.kasvata(1); System.out.println(i); } } } //------------------------------------------------------- public class laskuriTesti { public static void main(String[] args) { // Luodaan neljä erillistä laskurisäiettä for (int i=0; i<4; i++) { LaskurinKasittelija a = new LaskurinKasittelija(i*5, i*5 + 4); new Thread(a).start(); } // Tämä pysäyttää tulostuksen JBuilderissa. VOI POISTAA MYÖHEMMIN! try { System.out.print("Lopeta>"); System.in.read(); } catch (java.io.IOException ioe) { } } }