Académique Documents
Professionnel Documents
Culture Documents
usar
Semforo S varivel inteira Duas operaes padro modificam S: acquire() e release() Originalmente chamadas P() e
V()
Semforos
Podem ser acessados apenas atravs
Semforo contador
Semforo contador o valor inteiro
pode variar por um domnio irrestrito (0 n) So usados para controlar o acesso a determinado recurso que consiste em um nmero finito de instncias Inicializado para o nmero de recursos disponveis Quando o semforo chega a zero, todos os recursos esto sendo usados
Construtor BoundedBuffer
public BoundedBuffer() { // o buffer inicialmente est vazio in = 0; out = 0; buffer = new Object[BUFFER SIZE]; mutex = new Semaphore(1); empty = new Semaphore(BUFFER SIZE); full = new Semaphore(0); } public void insert(Object item) { /* prximos slides */ } public Object remove() { /* prximos slides */ } }
Implementaes do Lab05
1. Crie uma classe Semaphore
Implementaes do Lab05
1. Soluo com excluso mtua
(seo crtica) Implemente a soluo do produtor-consumidor atravs de memria compartilhada e buffer limitado. Use um semforo binrio Use a classe Semaphore e Threads em Java.
Implementaes do Lab05
1. Soluo com sincronismo entre o
produtor e consumidor Implemente a soluo do produtor-consumidor atravs de memria compartilhada e buffer limitado. Use dois semforos contadores Use a classe Semaphore e Threads em Java.