이번 포스팅은 스레드를 다루는 방법과 이슈들을 소개합니다. 스레드 이슈에 있어서 간단한 예는 두 스레드가 같은 객체를 공유하면서 서로 간섭하며 예상치 못한 결과를 내놓는 것입니다. 예제는 스레드를 공부하면서 한 번 쯤 봤을 만한 아주아주 간단한 예제입니다. 하지만 왜 그렇게 예상치 못한 결과가 되는지 명확히 설명하는 곳이 없어 책을 참고하여 정리를 해보았습니다. 먼저, 아주 간단하고 대중적인 예로 코딩을 해보았습니다. 계산기로 초기화 된 index 값에서 getNextIndex 를 호출하면 다음 번 인덱스를 반환하는 클래스 입니다. 다음과 같이 두 개의 스레드를 만들고 계산기의 인덱스를 각각 1만번 씩 호출을 해보았습니다. 최적의 시나리오는 각각 Set 에 고유한 숫자 1만개씩 보유하는 경우인데요. 사실..