Lock 멀티스레드, 동시성 프로그래밍에서 가장 중요한 개념은 Thread와 Lock입니다. 하나의 자원에 대해 여러 Thread가 동시에 접근하는 것을 도와주는 도구입니다. Synchronized, 동기화하거나, 아니면 접근 자체를 직렬화한다고 표현합니다. 멀티스레드 환경에서 여러 Thread가 Heap 메모리에 있는 객체나 자원을 접근할 때 동기화를 통해 접근을 통제해야 합니다. Lock을 통해서 공유 자원을 한 Thread만 접근할 수 있도록 통제할 수 있습니다. Lock 기능 특정 조건에 다라 지정한 수의 Thread만 자원에 접근하게 할 수 있습니다. 접근을 못한 Thread들은 줄을 세워, 대기하게 하고 들어갈 수 있을 때 다시 동작하게 할 수 있습니다. → 대기 상태의 Thread는 Slee..