Jump to content
  • 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]

Recommended Posts

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.

Share this post


Link to post
Share on other 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"

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.