【Example】C++ std::thread 及 std::mutex

与 Unix 下的 thread 不同的是,C++ 标准库当中的 std::thread 功能更加简单,可以支持跨平台特性。

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 成都创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站建设、成都网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!

因此在项目需要跨平台及对多线程简单应用情况下,应优先考虑使用 std::thread。

同时为了使多线程操作更加安全,std::thread 经常与标准库互斥量 std::mutex 配合使用。

std::thread

std::thread 对象是 C++ 标准库当中最基本的多线程实现方式。

可以使用thread对象查看和管理应用程序中的执行线程。 使用thread默认构造函数创建的 对象不与任何执行线程相关联。 使用thread可调用对象构造的 对象将创建一个新的执行线程,并调用该 中的可调用对象threadThread对象可以移动,但不能复制。 这就是执行线程只能与一个对象关联thread的原因。

每个执行线程都具有thread::id类型的唯一标识符。 函数this_thread::get_id返回调用线程的标识符。 成员函数thread::get_id返回由 对象管理的线程的标识符threadthread::this_thread::get_id、thread::get_id对于默认构造的对象,该方法返回一个对象,该对象的值对于所有默认构造的对象都相同,并且不同于在调用时可以联接的任何执行线程返回的值。

-- Microsoft Docs

std::thread 的头文件是:

#include 

新闻名称:【Example】C++ std::thread 及 std::mutex
分享URL:http://scyanting.com/article/dsogoog.html