Biblioteca C ++ - <thread>
Introdução
Thread é uma sequência de instruções que pode ser executada simultaneamente com outras sequências semelhantes em ambientes multithreading, enquanto compartilha o mesmo espaço de endereço.
Tipos de membros
Sr. Não. | Tipo e descrição do membro |
---|---|
1 | Eu iria É um id de thread. |
2 | Tipo de alça nativo É um tipo de identificador nativo. |
Funções de membro
Sr. Não. | Função e descrição do membro |
---|---|
1 | (construtor) É usado para construir thread. |
2 | (destruidor) É usado para destruir thread. |
3 | operador = É um tópico de atribuição de movimentação. |
4 | get_id É usado para obter o id do thread. |
5 | juntável É usado para verificar se pode ser juntado. |
6 | Junte-se É usado para unir o tópico. |
7 | separar É usado para separar o fio. |
8 | troca É usado para trocar tópicos. |
9 | native_handle É usado para obter o identificador nativo. |
10 | hardware_concurrency [estático] É usado para detectar a simultaneidade de hardware. |
Sobrecargas de não membros
Sr. Não. | Sobrecarga de não membro e descrição |
---|---|
1 | troca (discussão) É usado para trocar tópicos. |
Exemplo
No exemplo abaixo para std :: thread.
#include <iostream>
#include <thread>
void foo() {
std::cout << " foo is executing concurrently...\n";
}
void bar(int x) {
std::cout << " bar is executing concurrently...\n";
}
int main() {
std::thread first (foo);
std::thread second (bar,0);
std::cout << "main, foo and bar now execute concurrently...\n";
first.join();
second.join();
std::cout << "foo and bar completed.\n";
return 0;
}
A saída deve ser assim -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.