与 Unix 下的 thread 不同的是,C++ 标准库当中的 std::thread 功能更加简单,可以支持跨平台特性。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 成都创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站建设、成都网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
因此在项目需要跨平台及对多线程简单应用情况下,应优先考虑使用 std::thread。
同时为了使多线程操作更加安全,std::thread 经常与标准库互斥量 std::mutex 配合使用。
std::thread 对象是 C++ 标准库当中最基本的多线程实现方式。
可以使用
thread
对象查看和管理应用程序中的执行线程。 使用thread
默认构造函数创建的 对象不与任何执行线程相关联。 使用thread
可调用对象构造的 对象将创建一个新的执行线程,并调用该 中的可调用对象thread
。Thread
对象可以移动,但不能复制。 这就是执行线程只能与一个对象关联thread
的原因。每个执行线程都具有
thread::id
类型的唯一标识符。 函数this_thread::get_id
返回调用线程的标识符。 成员函数thread::get_id
返回由 对象管理的线程的标识符thread
。thread::
this_thread::get_id、
thread::get_id
对于默认构造的对象,该方法返回一个对象,该对象的值对于所有默认构造的对象都相同,并且不同于在调用时可以联接的任何执行线程返回的值。-- Microsoft Docs
std::thread 的头文件是:
#include