C++/Library
2021. 3. 30. 00:03
멀티쓰레딩 (Multithreading)
<thread>
라이브러리병렬 프로그래밍을 위한 라이브러리이다.
쓰레드를 생성하여 다른 코어에서 작업할 수 있도록 한다.
예제
CPU 사용률 100% 찍어보기
#include <iostream> #include <string> #include <thread> #include <vector> int main() { using namespace std; const int num_logical_processors = std::thread::hardware_concurrency(); cout << "Number of processors : " << num_logical_processors << endl; cout << "ID of this thread : " << std::this_thread::get_id() << endl; vector<thread> threads; threads.resize(num_logical_processors); for (auto& e : threads) e = thread([]() { cout << std::this_thread::get_id() << endl; while (true) {}}); for (auto& e : threads) e.join(); } /* stdout stderr Number of processors : 12 ID of this thread : 16588 13524 14792 17928 18368 17452 14392 19440 12996 16180 1773614800 18504 */
'C++ > Library' 카테고리의 다른 글
C++ forward (0) | 2021.03.30 |
---|---|
C++ future (0) | 2021.03.30 |
C++ atomic (0) | 2021.03.30 |
C++ mutex (0) | 2021.03.30 |
C++ 파일 임의 위치 접근 (0) | 2021.03.29 |