Aula Pratica - GerenciaThreads
description
Transcript of Aula Pratica - GerenciaThreads
-
Gerenciando Threads
-
Grupos de Threadspublic class GroupTest {
public static void main(String args[]) {
ThreadGroup group = new ThreadGroup("Sleepers"); // Cria grupo
for (int i=0; i
-
ThreadSleeppublic class ThreadSleep extends Thread {
private long tempo = 0;
public ThreadSleep(long tempo) {
this.tempo = tempo;
}
public void run() {
System.out.println(getName() + " vai dormir por " + tempo + " ms.");
try {
sleep(tempo);
System.out.println(getName() + " acordou.");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
for (int i=0; i
-
Schedulerimport java.util.concurrent.*;
public class ScheduleThread extends Thread {
public void run() {
System.out.println(getName() + " executada.");
}
public static void main(String args[]) {
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
for (int i=0; i
-
ThreadLocalpublic class ThreadLocalTest extends Thread {
static ThreadLocal valorLocal = new ThreadLocal();
static int contador = 0;
public void run() {
System.out.println(getName() + ": valorLocal = " + contador);
valorLocal.set(new Integer(contador++));
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
int valor = ((Integer)valorLocal.get()).intValue();
System.out.println(getName() + ": valorLocal = " + valor);
}
public static void main (String args[]) {
for (int i =0; i
-
Atividade
Escreva um relatrio sobre os 4 cdigos apresentados, respondendo s seguintes questes:
1. Qual a diferena do cdigo de GroupTest para ThreadSleep, com relao ao resultado?
2. Qual a vantagem de se utilizar ThreadGroup?
3. Explique como funciona Java Executors e qual a sua utilidade no cdigo ScheduleThread
4. Explique como a varivel valor no alterada pelas vrias threads no cdigo ThreadLocal.
5. Modifique o cdigo para que ela seja alterada por todas as threads.
-
Atividade
Enviar para:
Assunto: Atividade Prtica Gerncia de Threads
Anexar o relatrio com o cdigo no texto
Valor: 0,5 ponto extra