1. 동기화란? 동기화란 컴퓨터 공학의 영역 뿐만 아니라 클라우드 저장소와 같은 우리가 일상 생활 속에서 흔히 접하는 많은 애플리케이션이나 기기에서 접할 수 있는 단어입니다. 그 말의 뜻에서도 알 수 있듯이 무언가 연동된다라는 느낌이 있는 단어입니다. 컴퓨터 공학에서 뜻하는 동기화 역시 이와 다르지 않으며, 동기화란 프로세스 또는 스레드들이 수행되는 시점을 조절하여 서로가 알고 있는 정보가 일치하는 것을 의미합니다. 우리가 알다시피 컴퓨터는 프로세스 또는 스레드로 작업을 실행합니다. 예를 들어 a = 2 라는 자원이 있다고 해보겠습니다. P1이라는 프로세스는 a라는 값을 이용해서 어떠한 로직을 수행합니다. 그런데 만약 그 사이 P2라는 프로세스가 a의 값을 3으로 바꾸게 된다면 어떻게 될까요? 아마 프로..