26.08.2014 Views

C# e Orientação a Objetos

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

THREADS 154<br />

6 }<br />

7 }<br />

Código <strong>C#</strong> 18.1: Tarefa que imprime várias vezes a palavra K19<br />

Em outra tarefa podemos imprimir a palavra “K31”.<br />

1 public static void ImprimeK31 ()<br />

2 {<br />

3 for ( int i = 0; i < 100; i ++)<br />

4 {<br />

5 System . Console . WriteLine (" K31 ");<br />

6 }<br />

7 }<br />

Código <strong>C#</strong> 18.2: Tarefa que imprime várias vezes a palavra K31<br />

Executando Tarefas<br />

As tarefas são executadas “dentro” de objetos da classe System.Threading.Thread. Para cada<br />

tarefa que desejamos executar, devemos criar um objeto da classe Thread e associá-lo ao método<br />

que define a tarefa.<br />

1 Thread thread1 = new Thread ( ImprimeK19 );<br />

2 Thread thread2 = new Thread ( ImprimeK31 );<br />

Código <strong>C#</strong> 18.3: Associando tarefas e threads<br />

Depois de associar uma tarefa (método que define o que queremos executar) a um objeto da<br />

classe Thread, devemos “disparar” a execução da thread através do método Start().<br />

1 Thread thread = new Thread ( ImprimeK19 );<br />

2 thread . Start ();<br />

Código <strong>C#</strong> 18.4: Executando uma thread<br />

Podemos “disparar” diversas threads e elas poderão ser executadas simultaneamente de acordo<br />

com o revezamento que a máquina virtual e o sistema operacional aplicarem.<br />

Exercícios de Fixação<br />

1 Crie um projeto no Microsoft Visual <strong>C#</strong> Express chamado Threads.<br />

2 Defina algumas tarefas para imprimir mensagens na tela.<br />

1 class App<br />

2 {<br />

3 public static void ImprimeK19 ()<br />

4 {<br />

5 for ( int i = 0; i < 100; i ++)<br />

6 {<br />

154 www.k19.com.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!