MultiThread3

429 palavras 2 páginas
Aula 06

MultiThread3.java
1. Quantas e quais são as classes definidas no programa ?

R: São 2 classes, MultiThread3 e MyRunnable

2. Explique em que parte do programa são executadas:

1. Alocação dos threads;
R: A alocação dos threads ocorre nas linhas 46 – 50: for (int ind = 0; ind < 10; ind++) { mr = new MyRunnable (ind); t = new Thread (mr); tl.add (t);
}

2. Disparo dos threads.
R: O disparo dos threads ocorre nas linhas 53 – 55: for (int ind = 0; ind < 10; ind++) { tl.get (ind).start ();
}

3. Aguardo por término dos threads.
R: A espera pelo término ocorre nas linhas 59 – 61: for (int ind = 0; ind < 10; ind++) { tl.get (ind).join ();
}

3. Qual método é executado com o disparo do thread ?

R: É o método run() localizado na linha 20.

4. Interpretação da saída:
1. O que significa a ordem dos Hellos ?

R: Significa a ordem de disparo dos threads, a ordem em programação concorrente é imprevisivel.

MultiThread4.java
1. Quantas e quais são as classes que o programa implementa ?

R: O programa implementa Runnable na classe MyRunnable, conforme linha 46: private static class MyRunnable implements Runnable

2. Explique em que parte do programa são executadas:

1. alocação;
R: A alocação dos threads é feita nas linhas 82 – 86: for (int ind = 0; ind < 10; ind++) { mr = new MyRunnable (ind); t = new Thread (mr); tl.add (t);
}

2. disparo;
R: O disparo é feito nas linhas 89 – 91: for (int ind = 0; ind < 10; ind++) { tl.get (ind).start ();
}

3. aguardo por término;
R: A espera ocorre nas linhas 95 – 99: for (int ind = 0; ind < 10; ind++) { printTimeStamp ("Thread " + ind + " is " + tl.get (ind).getState() + "\n"); tl.get (ind).join (); printTimeStamp ("Thread " + ind + " was joined." + "\n");
}

3. Qual método é executado com o disparo dos threads ?

R: É o método run() localizado na linha 20.

4. Explicar as funções getTimeString() e printTimeStamp().

R: A função getTimeString() retorna uma string com data, hora e milessegundos formatada. A função

Relacionados