std::thread::join
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> void join(); |
(начиная с C++11) | |
Блокирует текущий поток, пока поток определенных
*this заканчивает его исполнения.Оригинал:
Blocks the current thread until the thread identified by
*this finishes its execution.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
(Нет)
Возвращаемое значение
(Нет)
Исключения
std::system_error если
joinable() == false или ошибка.Оригинал:
std::system_error if
joinable() == false or an error occurs.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Пример
Запустить этот код
#include <iostream>
#include <thread>
#include <chrono>
void foo()
{
// simulate expensive operation
std::this_thread::sleep_for(std::chrono::seconds(1));
}
void bar()
{
// simulate expensive operation
std::this_thread::sleep_for(std::chrono::seconds(1));
}
int main()
{
std::cout << "starting first helper...\n";
std::thread helper1(foo);
std::cout << "starting second helper...\n";
std::thread helper2(bar);
std::cout << "waiting for helpers to finish...\n";
helper1.join();
helper2.join();
std::cout << "done!\n";
}
Вывод:
starting first helper...
starting second helper...
waiting for helpers to finish...
done!
См. также
| позволяет потоку выполняться независимо от дескриптора потока (public функция-элемент std::{{{1}}})
| |
| проверяет, является ли поток присоединяемым, т.е. потенциально работающим в параллельном контексте (public функция-элемент std::{{{1}}})
|