멀티스레딩 은 모든 스레드가 동시에 실행되고 있다는 착각과 함께 동일한 시점에 메모리에 수많은 스레드를 가질 수 있는 운영 체제의 기능이다. 다중 스레딩은 여러 가지 이점을 제공하지만 스레드 동기화, 기아 상태, 동시성 등과 관련된 문제를 방지하려면 모범 사례를 알고 있어야 한다. Java의 다중 스레딩에 대한 모범 사례를 살펴보자. 경쟁 조건(Race Conditions) 및 데드락(Deadlocks) 방지 Java 스레드로 작업할 때 기억해야 할 가장 적절한 사항은 경쟁 조건과 교착 상태를 피하는 것이다. 경쟁 조건은 여러 스레드가 동일한 시점에서 동일한 데이터에 액세스 하려고 시도할 때 발생할 수 있다. 이로 인해 예기치 않은 결과를 경험할 수 있으며 이로 인해 프로그램에 문제가 발생할 수 있다. ..