0
点赞
收藏
分享

微信扫一扫

第二章 线程管理

sullay 2022-01-27 阅读 167

第二章 线程管理

2.1 线程管理的基础

每个程序至少有一个线程:执行main()函数的线程,其余线程有其各自的入口函数。线程与原始线程(以main()函数为入口的线程)同时运行。如同main()函数执行完会退出一样,当线程执行完入口函数后,线程也会退出。

2.1.1 启动线程

线程在std::thread对象创建时启动。

void do_some_work();
std::thread my_thread(do_some_work);

std::thread可以调用可调用类型构造,将带有函数调用符类型的实例传入std::thread类中。

class background_task{
public:
	void operator()() const{
		do_something();
	}
};
background_task f;
std::thread my_thread(f);

代码中,提供的函数对象会复制到新线程的存储空间中,函数对象的执行和调用都在线程的内存空间中进行。

举报

相关推荐

第二章 数据库管理

TypeScript 第二章

第二章 翻译

第二章 资产

第二章 IDLE

第二章-表格

0 条评论