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