《출처. 시작하자! C++17 프로그래밍 (박헌재 지음)》 시작하기 전 동기와 비동기에 대해서 먼저 알아보자! Asynchronous(비동기) Synchronous(동기) 발음도 어려워 보이는 동기, 비동기 일단 말은 할 수 있어야 하니.. 번역기에 돌려 읽어주는데로 한 번 적어보겠습니다. Synchronous-> siNGkrənəs(씨-인!크로너스) Asynchronous->āˈsiNGkrənəs(에이 씨-인!크로너스) 이런식으로 발음해주고 있습니다. 알아 둡시다.. 면접에서 물어보면 알아듣긴 해야하니깐 (T_T)/ 이제 이 둘의 차이점과 지닌 뜻을 알아보자! 더보기 더보기 더보기 ● Asynchronous(비동기) : 작업을 위임하고 기다리는 방식 쉽게 이야기 하면, 꼭 한 줄 한 줄 순서대로 실행되..
《출처. 시작하자! C++17 프로그래밍 (박헌재 지음)》 독립적으로 실행되는 스레드라 하더라도 경우에 따라 다른 스레드에 전달할 정보가 있기 마련이다. 전달하는 방법 중 우리가 공부할 방법은 '조건변수(Conditional Variable)' 라고 부르는 기능이다. 조건변수는 주로 게임에서 많이 사용하는 데 달리기 시합처럼 모든 선수가 출발선상에 대기한 상태에서 총소리와 함께 출발하도록 스레드 모두 대기 상태로 만들고 동시에 공동 경쟁을 수행한다. 조건변수는 단지 변수를 통해 신호를 주고 받는 기능만을 제공할 뿐 자체 잠금 기능이 없다. 따라서 다수의 스레드에 의해 실행되는 작업이 안전성을 보장하기 위해 별도 뮤텍스를 사용한다. 가장 중요한 함수는 wait(), notify_all() 함수이다. 조건변..