加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Thread.h 813 Bytes
一键复制 编辑 原始数据 按行查看 历史
#pragma once
#include "noncopyable.h"
#include <functional>
#include <memory>
#include <thread>
#include <unistd.h>
#include <string>
#include <atomic>
class Thread : public noncopyable{
public:
using ThreadFunc = std::function<void()>;
explicit Thread(ThreadFunc, const std::string& name = std::string());
~Thread();
void start();
void join();
bool started() const { return started_; }
pid_t tid() const { return tid_; }
const std::string& name() const { return name_; }
static int numCreated() { return numCreated_; }
private:
void setDefaultName();
bool started_;
bool joined_;
std::shared_ptr<std::thread> thread_;
pid_t tid_;
ThreadFunc func_; //存储线程函数的
std::string name_;
static std::atomic_int numCreated_;
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化