C++并行处理支持库 之一

C++线程管理

线程管理

概述

类线程代表单个执行线程。线程允许多个函数同时执行。

线程在构造关联的线程对象后立即开始执行(等待任何操作系统调度延迟),从作为构造函数参数提供的顶级函数开始。顶级函数的返回值将被忽略,如果它通过抛出异常而终止,则调用 std::terminate。顶级函数可以通过 std::promise 或通过修改共享变量(这可能需要同步,请参阅 std::mutex 和 std::atomic)向调用者传达其返回值或异常。

std::thread 对象也可能处于不代表任何线程的状态(在默认构造、移出、分离或连接之后),并且执行线程可能不与任何线程对象关联(在分离之后)。

两个 std::thread 对象不能代表同一个执行线程; std::thread 不是 CopyConstructible 或 CopyAssignable,尽管它是 MoveConstructible 和 MoveAssignable。

构造器

  • thread() noexcept;
    创建一个新的 std::thread 对象,它不代表线程。

  • thread( thread&& other ) noexcept;
    移动构造函数。构造 std::thread 对象来表示由 other 表示的执行线程。此调用之后 other 不再代表执行线程。

  • template< class F, class… Args > explicit thread( F&& f, Args&&… args );
    创建一个新的 std::thread 对象,并将其与执行线程关联。新的执行线程开始执行:

  • thread( const thread& ) = delete;
    复制构造函数被删除;线程是不可复制的。任何两个 std::threa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值