Trabalho produtor consumidor

708 palavras 3 páginas
O produtor e o consumidor é um algoritmo que faz-se por em pratica a gerencia de processos concorrentes.
O problema é quando enquanto um processo produz escrevendo em um buffer limitado, equanto o outro consome limpando o buffer, preservando a integridade dos dados.

Neste algoritmo é definido o buffer para 8 posições sendo a sua limitação. São definidas variaveis para que o algoritmo saiba quando ele esta dormindo, acordado, quando o processo de consumir estiver acabado e quando ele estiver processando.
Há uma estrutura que define um apontador, para que aponte uma nova posição de leitura ou escrita, e que ainda mantem a ordem na fila.

#include
#include
#include
#include
#include
#include
#include
#include
#include

#define MAXBUFF 8 /*Maximo de buffer livre*/
#define DORMINDO 0
#define ACORDADO 1
#define ACABADO 0
#define PROCESSANDO 1

typedef struct apontador{/* Estrutura que aponta para nova posiçao de leitura ou escrita.. e mantem a ordem em uma fila*/ int livre;/*Posiçao do buffer*/ struct apontador *prox;/*proxima posiçao do buffer*/
}APONTA;

APONTA *fila_leitura_inicio = NULL, *fila_leitura_fim = NULL;/*Fila que controla buffer livre de leitura*/
APONTA *fila_escrita_inicio = NULL, *fila_escrita_fim = NULL;/*Fila que controla buffer livre de escrita*/

void *Consumir(void* texto); void *produz(void* texto); int setFila(int posicao, APONTA **begin, APONTA **end); int getFila(APONTA **begin, APONTA **end);

char bufferLimitado[MAXBUFF]; /*Buffer de trabalho*/ int buff_empty = MAXBUFF; /*Buffer livre*/ int buff_full = 0; /*Buffer ocupado*/ int status_produz = ACORDADO; int status_consome = ACORDADO;/* Se estÃo dormindo ou acordados*/ int status_processamento = PROCESSANDO;

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Mutex que controla o acesso ao buffer*/ pthread_mutex_t mutex_status_buff = PTHREAD_MUTEX_INITIALIZER; /*Mutex que controla a espera(dormir/acordar)*/

Relacionados

  • Gestão financeira
    10290 palavras | 42 páginas
  • Problema Produtor Consumidor
    860 palavras | 4 páginas
  • Feiras de agricultores em restaurantes naturais: Um meio de difundir a agricultura familiar?
    5199 palavras | 21 páginas
  • Trabalho Individual N 1296
    1919 palavras | 8 páginas
  • Estudo da viabilidade dos canais de comercialização
    7445 palavras | 30 páginas
  • Economia
    15616 palavras | 63 páginas
  • Comercio justo
    16963 palavras | 68 páginas
  • Estratégias e tendências para o pescado em portugal
    5195 palavras | 21 páginas
  • Tópicos especiais em desenvolvimento de sistemas
    668 palavras | 3 páginas
  • guiao de vendas
    1426 palavras | 6 páginas