База Hintsage

Программирование C++

Язык C++ и его модель выполнения.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование C++

Фоновая задача запускается через std::jthread. Как завершится вызов run() при выходе из функции?

#include <chrono>
#include <thread>

void work(std::stop_token token) {
    while (!token.stop_requested()) {
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
    }
}

void run() {
    std::jthread worker(work);
}
Программирование C++Современный C++Разработчик системного программного обеспечения на C++

Определите последствие исключения, покинувшего функцию потока, и способ безопасно обработать его. Код должен завершиться без аварийного завершения процесса.

#include <stdexcept>
#include <thread>

void worker() {
    throw std::runtime_error("ошибка");
}

int main() {
    std::thread t(worker);
    t.join();
}

Показано 4160 из 300