Ir para conteúdo
Fórum Script Brasil
  • 0

Multithreading> Circular Buffer


Thiago Alencar

Pergunta

Ola galera!

talvez alguém q manja de multithreading possa me ajudar aqui..

Tenho quatro métodos (threads) em minha aplicação que devem trabalhar sincronizados compartilhando um array de 8 elementos como um circular buffer array. Cada método deve trabalhar nos dados só depois que seu antecessor tenha completado sua tarefa, na seguinte ordem:

1.: Ler dados de arquivo e coloca-lo num elemento livre do array;

2.: Ler dado produzido pelo thread 1, alterar e salvar;

3.: Ler dados produzidos por thread 2, alterar e salvar;

4.: Ler dados produzidos por thread 3, escrever para arquivo e liberar elemento do array para que thread 1 possa trabalhar.

É possível (nessa aplicacao) que todos threads acessem e manipulem os dados simultaneamente sem causar monitor overhead?

Qual é o melhor meio de alcançar isto de forma que possam trabalhar juntos mas na ordem correta / sincronizada?

detalhe: a forma q estou tentando resolver esse problema é utilizando Circular Buffer Array, para quem nunca ouviu falar eu tentei dar uma explicacao (seguindo o meu livro) no quinto post deste forum. (esta em ingles)

Obrigado.

Editado por Thiago Alencar
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...