thread.h (VC) 线程总结1

本文介绍了C++中线程的使用,包括detach()、join()函数的应用,如何判断线程是否可执行,以及硬件_concurrency()函数用于获取硬件线程上下文数量。同时,提到了native_handle()函数的作用和一个简单的示例代码。
摘要由CSDN通过智能技术生成

在创建一个thread实例以后,提供了以下几个函数接口:

detach();//detach therad

意思是在构造thread之后,可以该线程与实例分离,然后即使在该变量被收回之后仍然能执行该线程

void detach()
        {    // detach thread
        if (!joinable())
            _Throw_Cpp_error(_INVALID_ARGUMENT);
        _Thrd_detachX(_Thr);
        _Thr_set_null(_Thr);
        }

get_id(); return id for this thread

inline thread::id thread::get_id() const _NOEXCEPT
    {    // return id for this thread
    return (id(*this));
    }

join();等待前一个线程执行完之后才执行

inline void thread::join()
	{	// join thread
	if (!joinable())
		_Throw_Cpp_error(_INVALID_ARGUMENT);
	if (_Thr_is_null(_Thr))
		_Throw_Cpp_error(_INVALID_ARGUMENT);
	if (get_id() == _STD this_thread::get_id())
		_Throw_Cpp_error(_RESOURCE_DEADLOCK_WOULD_OCCUR);
	if (_Thrd_join(_Thr, 0) != _Thrd_success)
		_Throw_Cpp_error(_NO_SUCH_PROCESS);
	_Thr_set_nul
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值