Shows how to use xtd::threading::jthread class.
#include <xtd/threading/jthread>
#include <xtd/block_scope>
#include <xtd/console>
auto main() -> int {
auto thread_proc = [] {
thread::current_thread().name("thread_proc");
for (auto index = 0; index < 10; ++index, thread::sleep(100_ms))
console::write_line(" ({}) index = {}", thread::current_thread().name(), index);
};
thread::current_thread().name("main");
console::write_line("({}) begin", thread::current_thread().name());
block_scope_(
auto thread1 = jthread::start_new(thread_proc)) {
}
console::write_line("({}) end", thread::current_thread().name());
}
#define block_scope_(...)
The specified expression is cleared automatically when the scope is ended.
Definition block_scope.h:25
The xtd::threading namespace provides classes and interfaces that enable multithreaded programming....
Definition abandoned_mutex_exception.h:11
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10