🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
Thread.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include <functional>
26
27AST_NAMESPACE_BEGIN
28
41class AST_UTIL_API Thread
42{
43public:
45 Thread() = default;
46
50 explicit Thread(std::function<void()> func);
51
53 ~Thread();
54
55 Thread(const Thread&) = delete;
56 Thread& operator=(const Thread&) = delete;
57
58 Thread(Thread&& other) noexcept;
59 Thread& operator=(Thread&& other) noexcept;
60
63 bool joinable() const;
64
66 void join();
67
70 void detach();
71
73 void swap(Thread& other) noexcept;
74
75private:
77 void* impl_{nullptr};
78};
79
81A_ALWAYS_INLINE
82void swap(Thread& lhs, Thread& rhs) noexcept
83{
84 lhs.swap(rhs);
85}
86
89AST_NAMESPACE_END
90
线程
定义 Thread.hpp:42
Thread()=default
构造一个不关联任何线程的对象
A_ALWAYS_INLINE void swap(Thread &lhs, Thread &rhs) noexcept
交换两个线程对象
定义 Thread.hpp:82