ไลบรารี C ++ - <thread>
บทนำ
เธรดคือลำดับของคำสั่งที่สามารถดำเนินการพร้อมกันกับลำดับอื่น ๆ ดังกล่าวในสภาพแวดล้อมแบบมัลติเธรดในขณะที่ใช้พื้นที่แอดเดรสร่วมกัน
ประเภทสมาชิก
ซีเนียร์ | ประเภทสมาชิกและคำอธิบาย |
---|---|
1 | id มันเป็นรหัสเธรด |
2 | ประเภทที่จับดั้งเดิม เป็นประเภทที่จับดั้งเดิม |
ฟังก์ชั่นสมาชิก
ซีเนียร์ | ฟังก์ชั่นสมาชิกและคำอธิบาย |
---|---|
1 | (ตัวสร้าง) ใช้ในการสร้างด้าย |
2 | (ผู้ทำลาย) ใช้เพื่อทำลายเธรด |
3 | ตัวดำเนินการ = มันเป็นการย้าย - กำหนดเธรด |
4 | get_id ใช้เพื่อรับรหัสเธรด |
5 | เข้ากันได้ ใช้เพื่อตรวจสอบว่าสามารถเข้าร่วมได้หรือไม่ |
6 | เข้าร่วม ใช้เพื่อเข้าร่วมเธรด |
7 | แยกออก ใช้เพื่อถอดด้าย |
8 | แลกเปลี่ยน ใช้เพื่อสลับเธรด |
9 | native_handle ใช้เพื่อรับหมายเลขอ้างอิงดั้งเดิม |
10 | hardware_concurrency [คงที่] ใช้เพื่อตรวจจับการทำงานพร้อมกันของฮาร์ดแวร์ |
การโอเวอร์โหลดที่ไม่ใช่สมาชิก
ซีเนียร์ | การโอเวอร์โหลดและคำอธิบายที่ไม่ใช่สมาชิก |
---|---|
1 | แลกเปลี่ยน (เธรด) ใช้เพื่อสลับเธรด |
ตัวอย่าง
ในตัวอย่างด้านล่างสำหรับ std :: thread
#include <iostream>
#include <thread>
void foo() {
std::cout << " foo is executing concurrently...\n";
}
void bar(int x) {
std::cout << " bar is executing concurrently...\n";
}
int main() {
std::thread first (foo);
std::thread second (bar,0);
std::cout << "main, foo and bar now execute concurrently...\n";
first.join();
second.join();
std::cout << "foo and bar completed.\n";
return 0;
}
ผลลัพธ์ควรเป็นเช่นนี้ -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.