[c#] 멀티뜨레드 동기와 비동기
동기는 하나의 뜨레드에서 순차적으로 처리되는 걸 말하고 비동기는 여러 뜨레드들에서 동시에 처리되는 걸 뜻한다. 동기를 synchronous라 하고 비동기는 부정 접두사 ‘a~’를 붙여서 asynchronous라 한다. 각각 줄여서 sync와 async라고도 하며 async는 ‘에이씽크’라고 읽는다. ‘아씽크’라고 읽는 거 아니다.
synchronous를 네이버 영어사전에서 찾아보면 제일 먼저 ‘동시 발생하는’이라는 뜻이 나온다. 여기에서 혼란이 시작된다. 프로그래밍에서 이해하는 것은 사전적 의미와 완전 반대다. 그러나 윅셔너리에는 at the same time이라는 설명 외에도 친절하게 single-threaded라는 설명도 나와 있다. 프로그래밍을 하면서 멀티뜨레드를 익힐 때에는 어려운 사전적 의미들은 잊고 그저 뜨레드가 하나냐 둘 이상이냐만 생각하는 게 좋다.