Пространства имён
Варианты
Действия

std::thread::join

Материал из cppreference.com
< cpp‎ | thread‎ | thread

 
 
Библиотека поддержки потоков
Потоки
Оригинал:
Threads
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
this_thread имен
Оригинал:
this_thread namespace
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Взаимное исключение
Оригинал:
Mutual exclusion
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Generic управления замком
Оригинал:
Generic lock management
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Условия переменных
Оригинал:
Condition variables
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Futures
Оригинал:
Futures
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
std::thread
Член классов
Оригинал:
Member classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Функции-члены
Наблюдатели
Операции
Оригинал:
Operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
thread::join
Функции, не являющиеся членами
 
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 функция-член) [править]
проверяет потенциальную возможность работы потока в параллельном контексте
(public функция-член) [править]