📘 TBB (Intel Threading Building Blocks) para C++: guia completo
oneAPI Threading Building Blocks (oneTBB) é uma biblioteca multiplataforma em C++, desenvolvida pela Intel para simplificar a programação paralela. Ela oferece abstrações de alto nível que permitem aos desenvolvedores aproveitar eficientemente processadores multi-core, sem precisar mergulhar nos detalhes de baixo nível de gerenciamento de threads, sincronização e escalonamento de tarefas.
Por que usar TBB? No mundo atual, a performance dos processadores cresce não pelo aumento da frequência do clock, mas sim pelo aumento do número de núcleos. Para que um programa rode mais rápido em um processador multi-core, ele precisa ser paralelizado. O gerenciamento manual de threads (via std::thread) é complexo, propenso a erros (condições de corrida, deadlocks) e não escala bem. O TBB resolve esses problemas oferecendo:
- Escalonamento automático de tarefas — a biblioteca distribui o trabalho pelos núcleos disponíveis usando o algoritmo "work stealing" (roubo de trabalho).
- Contêineres paralelos seguros —
concurrent_vector,concurrent_queuee outros, que