Você está na página 1de 13

Sistemas Distribudos (80 ha)

Graduao em Sistemas de Informao Faculdade Mater Dei - 2010 Max Ruben de Oliveira Schultz, Msc max@viasoft.com.br

THREADS COMPARTILHAMENTO DE MEMRIA

Compartilhamento de Memria
y

Compartilhamento de memria um subtpico de comunicao inter-processos (IPC)


Fila de mensagens (SO) Pipeline (SO) proc1 >> proc2 >> proc 3 rea de memria compartilhada (SO) POSIX, threads Envio de mensagens (rede) CORBA, JRMI, RPC, MPI

Threads se comunicam por compartilhamento de memria


Atributos (membro de classe e de instncia) Objetos compartilhados

Exemplo de Compartilhamento de Memria

Exerccios
y

Execute vrias vezes o cdigo do slide anterior Anote os valores impressos Qual a explicao?

Cenrios de Execuo do Exemplo

Exemplo por Atributo Esttico

Cenrio de Execuo do Exemplo

Exerccio

Exerccio

Exemplo por Objeto Compartilhado

Exerccio
y

Faa uma classe Java que faa busca paralela num array de inteiros. A classe deve implementar o mtodo:
public static int busca(int x, int[] A, int nThreads) O mtodo cria nThreads Estas threads devem compartilhar o objeto A. Cada thread busca pelo inteiro x em uma parte de A, por exemplo, da posio 0 at a 10, outra da 11 a 20, ... Se uma das threads encontra x, ento retorna-se o ndice i, tal que A[i] = x Caso contrrio, o mtodo retorna -1 Quando uma das threads encontra o nmero x, as outras devem parar a busca!

Bibliografia
y y y y

Programao Paralela e Distribuda. Cesar Augusto Tacla. UTFPR. (Coulouris et al., 2003) George Coulouris, Jean Dollimore, Tim Kindberg. Distributed Systems - Concepts and Design, Addison Wesley Publ. Comp., 3a edio, 2003. (Tanenbaum & Steen, 2002) Andrew S. Tanenbaum, Maarten van Steen. Distributed Systems, Prentice-Hall International, 2002. (Garg, 2004) Vijay K. Garg. Concurrent and Distributed Computing in Java, Wiley Inter-Science, 2004, 309p.

Você também pode gostar