동기화란?: 두 가지 이상의 작업이 동시에 실행될 때 꼬이지 않도록 맞추는 것 여러 개의 작업(스레드/프로세스)이 동시에 실행될 때, 데이터의 일관성을 유지하고 충돌을 막기 위해 실행 순서나 접근을 제어하는 것을 말한다. 즉, 동기화에서 실행 순서와 공유자원 접근은 중요한 문제이다. 1. 실행 순서 문제 (순서 동기화)“A가 끝난 뒤에 B를 실행해야 한다”예:Producer → Consumer초기화 후 사용2. 공유 자원 접근 문제 (임계구역(critical section) 문제)“여러 명이 동시에 만지면 안 된다”예:sharedData++파일 쓰기캐시 수정 아래와 같이 2개의 스레드를 동시에 작동시켜보자.public class Race { static int sharedData = 0; pu..