Meio Bit » Baú » Software » uC++ - Multitarefa para o C++

uC++ - Multitarefa para o C++

08/03/2006 às 21:54

É incrível pensar que uma das linguagens mais usadas no mundo ainda não possua algo que se tornou essencial nos dias de hoje: multi-thread. Mas vamos definir conceitos primeiro, antes de continuar.

Você já ouviu falar de processadores dual core, certo? Eles possuem 2 núcleos internos de processamento, ou seja, como se fossem duas CPUs, dividindo o trabalho. O sistema operacional chama esse "trabalho" de processo. Cada processo possui uma ou mais tarefas para completar o que o usuário pediu. Seja abrir um arquivo, editar uma imagem ou mandar um e-mail, o programa inicia um processo, que é como um envelope de tarefas.

Um processo precisa ter no mínimo uma tarefa para funcionar, mas pode ter várias. Essas tarefas recebem o nome de threads. Não irei me aprofundar no assunto, pois existem livros para abordar sistemas operacionais, processadores, processos e threads. Basta lembrar que se a máquina possui um único núcleo, ele não será multi-thread e sim processamento em fila. É claro que existem otimizações nos processadores modernos para minimizar isso e o usuário praticamente não percebe que o a CPU separa alguns ciclos para cada aplicação do sistema.

Pois bem, o C++ não possui suporte nativo ao que eu acabei de descrever. Existem duas bibliotecas disponíveis, Win32 da Microsoft e o pthread (POSIX), mas não fazem parte do padrão da linguagem, então não é possível escrever programas genéricos o que fez muitos programadores usarem linguagens mais modernas como Java e C#.

O μC++ veio para suprir essa carência, funcionando como uma extensão da linguagem e trazendo o bom e velho C++ para a era da modernidade de processadores com vários núcleos. Isso chega em boa hora, diga-se, já que a AMD irá lançar uma linha de processadores com 4 núcleos ainda esse ano, usando o novo processo de 65nm. Por enquanto, o pacote funciona apenas para Linux e Unix e está entre os vários em estudo pelo The C++ Standards Comitee.

Para saber mais, visite página oficial do μSystem project e do μC++

Bibliografia:
BUHR, Peter; BILSON, Richard. Examining μC++. Dr. Dobbs Journal, San Francisco, v. 31, n. 2, p. 36-40, Feb. 2006.

relacionados


Comentários