|
🛰️航天仿真算法库 SpaceAST 0.3.1
|
#include <Thread.hpp>
Public 成员函数 | |
| Thread ()=default | |
| Thread (std::function< void()> func) | |
| ~Thread () | |
| Thread (const Thread &)=delete | |
| Thread & | operator= (const Thread &)=delete |
| Thread (Thread &&other) noexcept | |
| Thread & | operator= (Thread &&other) noexcept |
| bool | joinable () const |
| void | join () |
| void | detach () |
| void | swap (Thread &other) noexcept |
线程
接口是 std::thread 的一个子集,用法与它一致:构造即启动, 析构时若仍 joinable 则调用 std::terminate,仅可移动、不可拷贝。
GCC 6 起 std::thread::_State 的析构、_M_start_thread 与 typeinfo 挂在 GLIBCXX_3.4.22 下, 而 Ubuntu 16.04,GCC 5.4只有到 GLIBCXX_3.4.21,使用该类可以避免在这些发行版上运行时出错。
|
explicit |
构造并立即启动线程
| func | 线程函数 |
| void ast::Thread::detach | ( | ) |
分离线程,此后不再可 join
| bool ast::Thread::joinable | ( | ) | const |
线程是否可 join
线程已结束或被 detach 之后,本函数返回 false