본문 바로가기
반응형

thread4

[c++] thread vs task (thread 와 async) thread와 task는 사용 목적과 추상화 정도가 다르다 thread는 원시적인 병렬처리 방법이고, thread를 사용해 task는 데이터를 동기화하는 방법이다 ⭐ 다시 말하면 데이터를 동기화 할 때는 굳이 개발자가 직접 thread를 생성하고, mutex를 이용하기 보다는 ⭐ c++에서 제공하는 task를 이용하는 것이 좋다 ⭐ 심지어 task를 이용할 때 thread를 생성할 수도 있고, 필요하면 생성하지 않고 동기화 할 수도 있다. thread는 말그대로 병렬처리를 위한 흐름을 생성하고 제어하기 위한 기본적인 함수를 제공한다 (join, detach 등) async와 같은 task는 promise-future 사이에 통신 흐름을 만든다 future에서 get 함수를 호출하여 promise와 동기화.. 2021. 8. 4.
[c++] thread 요즘은 고성능 프로그램을 만들 때 멀티코어를 얼마나 잘 활용하느냐를 중요하게 여깁니다. C++ 11부터는 thread 라이브러리를 지원하여 플랫폼과 독립적으로 thread를 구현할 수 있습니다. thread 특징 thread는 프로세스의 실행 단위에 해당한다 한 프로세스 내에서 동작되는 thread는 메모리를 공유할 수 있다 thread는 독립적인 자원을 수행하므로 각자의 스택과 레지스터 값을 가진다 thread마다 스택을 독립적으로 할당하는 이유 독립적인 실행 흐름을 제공하기 위해 최소 조건으로 스택을 독립적으로 할당해야 합니다. 왜냐하면 스택은 함수 호출 시 전달되는 인자, 되돌아갈 주소, 함수 내 변수등을 저장하기 위한 메모리 공간으로 사용되기 때문입니다. thread의 장점 thread는 프로세스.. 2021. 8. 4.
[c++] async en.cppreference.com/w/cpp/thread/async std::async - cppreference.com (1) (since C++11) (until C++17) template std::future , std::decay_t ...>> async( Function&& f, Args&&... args ); (since C++17) (until C++20) template< class Function, c en.cppreference.com async는 일종의 함수 템플릿 (function template)입니다. async를 사용하면 함수 f를 비동기적으로 실행하고 함수 f의 반환 값을 std::future로 반환합니다. 2020.. 2020. 12. 15.
[c++] future https://en.cppreference.com/w/cpp/thread/future std::future - cppreference.com template class future; (1) (since C++11) template class future ; (2) (since C++11) template class future ; (3) (since C++11) The class template std::future provides a mechanism to access the result of asynchronous oper en.cppreference.com 클래스 템플릿 (class template)인 std::future는 비동기적 수행 (asynchrono.. 2020. 12. 15.
반응형