A : 멀티 스레드 프로그래밍 환경에서 하나의 함수가 한 스레드로부터 호출되어 실행 중일때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드의 결과가 올바르다는 것을 의미합니다.
A : 자바에는 synchronized라는 키워드가 스레드의 안정성을 보장해줍니다. 또한 싱글톤 패턴을 사용하는 방법이 있습니다.
A : 뮤텍스는 공유자원을 한 번에 한 개의 스레드만 접근 가능하게 하여 스레드의 안정성을 보장하고 세마포어는 여러개의 공유자원을 여러개의 프로세스가 접근 가능하게 관리하는 방법입니다.
A : Java에서 HashMap는 Thread Safe하지 않습니다. 그래서 멀티스레트 환경에서 Map를 사용할 경우 ConcurrentHashMap을 사용합니다.