// PolythreadDemo.cpp : 定义控制台应用程序的入口点。
//
//上面的代码中使用到了joinable()函数,
//不能对没有执行线程的std::thread对象使用detach(),
//必须要使用joinable()函数来判断是否可以加入或分离。
//
#include "stdafx.h"
#include <iostream>
#include <thread>
#include <windows.h>
#include <string>
#include <assert.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
std::thread t ([](std::string text){
std::cout << "Hello World," << text << std::endl;
}, "Shawn");
if (t.joinable()){
t.detach();
}
assert(!t.joinable()); //这句话可以称之为推断,断言、猜测,表示程序员
//猜测某个值是多少,如果不是就会弹出异常,
//是很棒的调试策略、
Sleep(3000); //定义在windows.h里面、
return 0;
}
C++多线程初级三:分离线程
最新推荐文章于 2024-07-29 11:22:25 发布