Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fLaSh_PT

ThreadPool - Programação Avançada C/Multi-Threads [Transferido Wiki]

Mensagens Recomendadas

fLaSh_PT

ThreadPool é uma classe desenvolvida para controlar listas de trabalhos em modo multi-thread.

Introdução

Imaginemos a seguinte situação, precisamos de elaborar vários processos no qual definimos um número máximo de threads a correr em simultâneo, o problema surge em como os controlar, esta classe ajuda de forma simples a implementar este mecanismo.

Um exemplo

Se pretender utilizar listas de trabalhos para converter vídeo, deve calcular que não deverá ter a correr muitos threads a correr em simultâneo, porque poderá crashar o processador, daí então que dois threads serial o ideal.

Quando um thread dos dois a correr em simultâneo terminar terá de seguida de dar lugar a outro até ao processo de todos os ficheiros de vídeo terminarem.

Exemplo prático desta demo

Será utilizado um ciclo de 1 a 100 onde em cada trabalho será gerado em um tempo de espera será gerando aleatoriamente, de forma a que possa-mos acompanhar o decorrer dos trabalhos.

0222222.png

Donwload do Código de Fonte

Mirror 1: http://www.megaupload.com/?d=I5CNMZB3

Mirror 2: http://www.mediafire.com/file/wtvna5ljyni/ThreadPool%20Demo.rar

Irei organizar e criar um artigo na wiki :P

Compr.


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Sim, faz isso.

Alguns dos teus posts já foram transferidos para lá.

Edita-os na wiki pois como deves calcular, são tranferidos ipsis verbis e há sempre mais qualquer coisa que o autor quer acrescentar.

Avisa aqui quando o fizeres, ou acrescenta [transferido para wiki] no final do título, apenas para controlo temporário.

Obrigado!

BTW, excelente adição :P


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MetalFatigue

Bem interessante e útil esta classe. Tive só a ver de relance. Talvez ainda a teste esta semana.

Mas uma coisa que me ocorreu, depois de ler a conclusão, for torná-la mais "inteligente". O que quero dizer era ela devia analisar quantos cores tem o a máquina e ajustar de acordo o máximo de cores threads simultâneos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.