SlideShare uma empresa Scribd logo
1 de 6
ANHANGUERA – 2016.1
PROGRAMAÇÃO CONCORRENTE
AULA 07 – MEMÓRIA COMPARTILHADA
Prof. Thomás da Costa
thomascosta@aedu.com
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
MEMÓRIA COMPARTILHADA
MEMÓRIA COMPARTILHADA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
MEMÓRIA COMPARTILHADA
Memória Compartilhada
O que é?:
É o processo de compartilhar informações contidas na memória diretamente
em arquivos. Neste processo o Java utiliza diretamente a memória física
tornando o processo de leitura e escrita o mais rápido possível.
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.prc.aula07;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
public class ArquivoMemoriaEscrever {
@SuppressWarnings("resource")
public static void main(String[] args) {
long bufferSize = 8 * 10000;
try {
File arquivo = new File("/tmp/arquivo_memoria.txt");
arquivo.delete();
FileChannel fileChannel = new RandomAccessFile(arquivo, "rw").getChannel();
MappedByteBuffer mp = fileChannel.map(FileChannel.MapMode.READ_WRITE, 0, bufferSize);
String valor = "GRAVANDO UMA INFORMACAO";
for (int j=0;j<=10;j++) {
mp.put(valor.getBytes());
}
fileChannel.close();
mp.clear();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.prc.aula07;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
public class ArquivoMemoriaLer {
@SuppressWarnings("resource")
public static void main(String[] args) throws FileNotFoundException, IOException,
InterruptedException {
long bufferSize = 8 * 10000;
File arquivo = new File("/tmp/arquivo_memoria.txt");
FileChannel fileChannel = new RandomAccessFile(arquivo, "r").getChannel();
MappedByteBuffer mp = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, bufferSize);
mp.load();
byte[] bytes = new byte[23];
for (int i=0;i<=mp.limit()-1;i++) {
mp.get(bytes);
String valor = new String(bytes);
if (!valor.trim().isEmpty()) {
System.out.println(new String(bytes));
} else {
break;
}
}
}
}
Obrigado !!!
ANHANGUERA – 2016.1

Mais conteúdo relacionado

Mais procurados

Conhecendo o sistema operacional ubunt uca
Conhecendo o sistema operacional ubunt ucaConhecendo o sistema operacional ubunt uca
Conhecendo o sistema operacional ubunt ucaIlton Bruno
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaMatheus Dos Santos Lima
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03thomasdacosta
 
2 curso on line [salvo automaticamente]
2  curso on line [salvo automaticamente]2  curso on line [salvo automaticamente]
2 curso on line [salvo automaticamente]bernadetebergamo
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Ramiro Luz
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Palestra 01
Palestra 01Palestra 01
Palestra 01mbcleao
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01thomasdacosta
 

Mais procurados (10)

Conhecendo o sistema operacional ubunt uca
Conhecendo o sistema operacional ubunt ucaConhecendo o sistema operacional ubunt uca
Conhecendo o sistema operacional ubunt uca
 
Desbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus LimaDesbravando a web com python - Matheus Lima
Desbravando a web com python - Matheus Lima
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03
 
2 curso on line [salvo automaticamente]
2  curso on line [salvo automaticamente]2  curso on line [salvo automaticamente]
2 curso on line [salvo automaticamente]
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?
 
Curso de-msdos-vol1
Curso de-msdos-vol1Curso de-msdos-vol1
Curso de-msdos-vol1
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Palestra 01
Palestra 01Palestra 01
Palestra 01
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 

Destaque

Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
Mapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoMapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2Tensor
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosJoão Werther Filho IT
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - IntroduçãoFabio Moura Pereira
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraWellington Oliveira
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 

Destaque (19)

Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Programação Concorrente - Aula 02
Programação Concorrente - Aula 02Programação Concorrente - Aula 02
Programação Concorrente - Aula 02
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
Mapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoMapa mental de un sistema distribuido
Mapa mental de un sistema distribuido
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos Arquitetônicos
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 

Mais de thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03thomasdacosta
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 

Mais de thomasdacosta (10)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 

Programação Concorrente - Aula 07

  • 1. ANHANGUERA – 2016.1 PROGRAMAÇÃO CONCORRENTE AULA 07 – MEMÓRIA COMPARTILHADA Prof. Thomás da Costa thomascosta@aedu.com
  • 2. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa MEMÓRIA COMPARTILHADA MEMÓRIA COMPARTILHADA
  • 3. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa MEMÓRIA COMPARTILHADA Memória Compartilhada O que é?: É o processo de compartilhar informações contidas na memória diretamente em arquivos. Neste processo o Java utiliza diretamente a memória física tornando o processo de leitura e escrita o mais rápido possível.
  • 4. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.prc.aula07; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public class ArquivoMemoriaEscrever { @SuppressWarnings("resource") public static void main(String[] args) { long bufferSize = 8 * 10000; try { File arquivo = new File("/tmp/arquivo_memoria.txt"); arquivo.delete(); FileChannel fileChannel = new RandomAccessFile(arquivo, "rw").getChannel(); MappedByteBuffer mp = fileChannel.map(FileChannel.MapMode.READ_WRITE, 0, bufferSize); String valor = "GRAVANDO UMA INFORMACAO"; for (int j=0;j<=10;j++) { mp.put(valor.getBytes()); } fileChannel.close(); mp.clear(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
  • 5. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.prc.aula07; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public class ArquivoMemoriaLer { @SuppressWarnings("resource") public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException { long bufferSize = 8 * 10000; File arquivo = new File("/tmp/arquivo_memoria.txt"); FileChannel fileChannel = new RandomAccessFile(arquivo, "r").getChannel(); MappedByteBuffer mp = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, bufferSize); mp.load(); byte[] bytes = new byte[23]; for (int i=0;i<=mp.limit()-1;i++) { mp.get(bytes); String valor = new String(bytes); if (!valor.trim().isEmpty()) { System.out.println(new String(bytes)); } else { break; } } } }