Bestimmen Sie welcher Code in welchem Thread ausgeführt wird.
Gegeben sei die Klasse ThreadTest1 die mit ihrer main() Methode als Programm gestartet wird :
public class ThreadTest1 extends Thread{
public void run() {
System.out.println("run: " + Thread.currentThread());
}
public static void main(String[] args) {
System.out.println("main: Anfang "+ Thread.currentThread());
ThreadTest1 t1= new ThreadTest1();
ThreadTest1 t2= new ThreadTest1();
t1.run();
t1.start();
try {
t1.join();
}
catch( InterruptedException i) {
}
System.out.println("main: Ende "+ Thread.currentThread());
}
}Schreiben die Konsolenausgaben des Programms auf. Gehen Sie davon aus, dass der Aufruf von Thread.currentThread() abhängig vom laufenden Thread eine der drei Zeichenketten ausgibt:
‘main’ wenn das Programm im Hauptthread ist (Anwendungsstart)
‘t1’ wenn es im Thread arbeitet welcher zur Referenz t1 gehört
‘t2’ wenn es im Thread arbeitet welcher zur Referenz t2 gehört
Die Antwort finden Sie auf der nächsten Seite (URL rechts unten klicken).
| Niveau | 2 |
| Schwierigkeitsgrad | mittel |
| Zeit | 2 Minuten |
Antwort zu Frage 2.16: Komplexitätsbetrachtungen
Gegeben ist das folgende Javaprogramm:
| Nr. | Quellcode | Antwort |
|---|---|---|
public class K1 { |
nichts eintragen | |
| Bsp. |
static void algorithmusBsp(int n) { |
Beispiel: Ofor1(n)+Ofor2(n) = O(n) |
| 1. |
static void algorithmus1(int n) { |
O(n)+O(1000)=O(n) |
| 2. |
static void algorithmus2(int n) { |
O(n)*O(n)=O(n2) |
| 3. |
static void algorithmus3(int n) { |
O(n)*O(n)*[O(n)+O(n)]=O(n3) |
| 4. |
static void algorithmus4(int n) { |
O(n)*[O(1000)*O(algorithmus2)]= O(n)*O(algorithmus2)=O(n3) |
}// Ende der Klasse |
Nichts eintragen |
