Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMENTADO EM C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30. O Problema dos Leitores e Escritores void reader(void) { while(TRUE) { // repete para sempre down(&mutex); // obtém acesso exclusivo a região critica rc = rc + 1; // um leitor a mais agora if (rc == 1) down(&db); //se este for o primeiro leitor bloqueia a base de dados up(&mutex) // libera o acesso a região critica read_data_base(); //acesso aos dados down(&mutex); // obtém acesso exclusivo a região critica rc = rc -1; // menos um leitor if (rc == 0) up(&db); // se este for o último leitor libera a base de dados up(&mutex) // libera o acesso a região critica use_data_read(); // utiliza o dado } } Procedimento do Leitor
31.
32.
33.
34.
35.
36. Threads no C#: Método Join class Ola_Mundo { static void Main() { Thread t = new Thread(new ThreadStart(Imprime)); t.Start(); t.Join(); Console.WriteLine("Fim do programa."); } static void Imprime() { Console.WriteLine("Ola Mundo!"); } }