Library C ++ - <thread>
pengantar
Thread adalah urutan instruksi yang dapat dijalankan secara bersamaan dengan urutan lainnya di lingkungan multithreading, sambil berbagi ruang alamat yang sama.
Jenis anggota
Sr.No. | Jenis & deskripsi anggota |
---|---|
1 | Indo Ini adalah id utas. |
2 | Jenis pegangan asli Ini adalah tipe pegangan asli. |
Fungsi anggota
Sr.No. | Fungsi & deskripsi anggota |
---|---|
1 | (konstruktor) Ini digunakan untuk membuat utas. |
2 | (penghancur) Ini digunakan untuk merusak utas. |
3 | operator = Ini adalah utas tugas-pindah. |
4 | get_id Ini digunakan untuk mendapatkan id thread. |
5 | dapat digabungkan Ini digunakan untuk memeriksa apakah dapat digabungkan. |
6 | Ikuti Ini digunakan untuk menggabungkan utas. |
7 | melepaskan Ini digunakan untuk melepaskan benang. |
8 | menukar Ini digunakan untuk menukar utas. |
9 | native_handle Ini digunakan untuk mendapatkan pegangan asli. |
10 | hardware_concurrency [statis] Ini digunakan untuk mendeteksi konkurensi perangkat keras. |
Kelebihan non-anggota
Sr.No. | Kelebihan & deskripsi non-anggota |
---|---|
1 | tukar (utas) Ini digunakan untuk menukar utas. |
Contoh
Dalam contoh di bawah ini untuk 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;
}
Outputnya harus seperti ini -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.