執行緒

Wzline發表於2024-07-15

thread

包含標頭檔案 < thread >

程式碼示例:

void DoWork()
{
std::cout<<"working"
}

int main()
{
std::thread worker(DoWork);//輸入這行程式碼後立刻開始執行DoWork是個函式指標

worke.join()

是什麼:
你能在當前執行緒上等待這個worker執行緒結束工作嗎?相當於暫停當前執行緒等worker執行緒完成再繼續當前執行緒。
程式碼示例:

#include<iostream>
#include<thread>

bool kk = false;
void DoWork()
{
	using namespace std::literals::chrono_literals;//用來寫休眠函式
	while (!kk)
	{
		std::cout << "working.....\n";
		std::this_thread::sleep_for(1s);//this_shread是給當前執行緒下命令
	}

}

int main()
{
	std::thread worker(DoWork);//輸入這行程式碼後立刻開始執行DoWork是個函式指標
	std::cin.get();//
	kk = true;
	worker.join();
	std::cin.get();
}

std::this_thread::get_id()

獲取當前執行緒id方法
使用位置:
線上程作用域裡用就行;

相關文章