Verwendung von Threads (nebenläufigen Prozessen)
(EN google-translate)
(PL google-translate)
Aufwändige Berechnungen sollten nicht im Hauptprozess ausgeführt werden, sondern in nebenläufigen Prozessen.
Die damit einhergehenden Vorteile und Probleme werden in Echtzeitsysteme besprochen.
Es folgt ein Standard-Programmbeispiel, wie einer Klasse eine Thread-Methode (run) hinzugefügt werden kann und wie dessen Aktivität gesteuert werden kann:
public class Run implements Runnable { public boolean aktiv; public String name; public Run(String name) { this.name = name; aktiv = false; } public void run() { while(true) { if(aktiv) { System.out.print(name); try { Thread.sleep(10); } catch(Exception e) { } } else { try { Thread.sleep(1000); } catch(Exception e) { } } } } }
Code 0-1: Run.java
public class Test { public static void pause() { try { Thread.sleep(15000); } catch(Exception e) { } } public static void main(String[] args) { Run r1 = new Run("A"); Run r2 = new Run("B"); Run r3 = new Run("C"); Thread t1 = new Thread(r1); Thread t2 = new Thread(r2); Thread t3 = new Thread(r3); t1.start(); t2.start(); t3.start(); System.out.println("**** AKTIVIERE A ****"); r1.aktiv = true; pause(); System.out.println("**** AKTIVIERE B ****"); r2.aktiv = true; pause(); System.out.println("**** AKTIVIERE C ****"); r3.aktiv = true; pause(); System.exit(0); } }
Code 0-2: Test.java