ไลบรารี 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.