Aula Pratica - GerenciaThreads

7
Gerenciando Threads [email protected]

description

Aula Pratica - GerenciaThreads

Transcript of Aula Pratica - GerenciaThreads

  • Gerenciando Threads

    [email protected]

  • 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:

    [email protected]

    Assunto: Atividade Prtica Gerncia de Threads

    Anexar o relatrio com o cdigo no texto

    Valor: 0,5 ponto extra