ExpertiDict

C++ · Intermediário · Inglês · Técnico

std thread

ˌɛs.tiː.ˈdiː θɹɛdsubstantivo

Classe da biblioteca padrão que cria e representa uma thread de execução, iniciada na construção com uma função chamável. Deve receber join ou detach antes de ser destruída.

Onde usar

Usada para paralelizar tarefas em C++ sem depender de APIs do sistema. Um std::thread destruído ainda associado a uma thread chama terminate, erro frequente em review.

Em código

void tarefa(int id) { std::cout << id; }
std::thread t(tarefa, 1);
std::thread u([] { std::cout << 2; });
t.join();
u.join();  // espera terminar

Exemplos

Join the thread before the object goes out of scope.

Faça join da thread antes de o objeto sair de escopo.

The program crashed because the std thread was never joined.

O programa caiu porque o std thread nunca recebeu join.

Cuidado

Não esqueça join ou detach; e os argumentos são copiados para a thread, então use std::ref para passar uma referência.

Sinônimos

thread

Veja também

Todos os termos de C++