Atividade SD
O que são threads e processos? E explique o que é mudança de contexto.
R: Threads são conhecidas também como processos leves, permitem múltiplas atividades dentro de um processo.É uma forma de um HYPERLINK "http://pt.wikipedia.org/wiki/Processo" \h processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente.
Processos são instâncias de programas me execução.
Mudança de contexto se dá quando o processador fica alternando a execução de threads. A ideia é executar um pouco de cada thread e fazer essa troca tão rapidamente que dê a impressão que as coisas estão sendo feitas ao mesmo tempo. Esta mudança é possível através do escalonador (scheduler ).
Teste os códigos a seguir: public class MeuThread extends Thread {
String s; public MeuThread (String as) { super(); s = new String(as);
}
public void run() { for (int i = 0; i < 5; i++)
System.out.println(i+” “+s);
System.out.println("FIM! "+s);
}
} public class TesteThread1 { public static void main (String[] args) { new MeuThread("Linha1").start(); new MeuThread("Linha2").start();
}}Explique a saída do código acima.
R: Criação da classe derivada de Thread. No código acima foi inserido um atributo para identificar o Thread. O método run ( ) contém o código que será executado pela thread. A Thread imprime cinco vezes o atributo String. Para iniciar a execução de uma thread cria-se um objeto da classe invoca-se o método Start ( )do objeto, este método cria a thread e inicia sua execução pelo método run( ) . Se o método run( ) for chamado diretamente, nenhuma thread nova será criada e o método run ( ) será executado na thread corrente. No código acima, mostra a execução de duas threads sobre dois objetos de uma mesma classe. Cada thread é executado sobre uma instância da classe e, por consequência, sobre uma instância do método run(). A saída gerada pela execução do exemplo IX.3 depende do sistema operacional subjacente. Uma saída possível é a