스레드 안전 (Thread-safe) 함수, 변수, 객체 등이 여러 스레드로부터 동시에 접근이 이루어져도 프로그램이 정상적으로 실행됨을 의미한다. 스레드 안전은 한 프로세스 내에서 두 개 이상의 스레드가 동시에 작동하는 멀티 스레드 프로그래밍의 조건이다. 그 대표적인 예시로 최근 몇 년동안 핫한 프로그래밍 패러다임인 함수형 프로그래밍은 side effect를 유발하지 않고 thread safe한 순수 함수를 조합하여 멀티 스레드의 동시성 프로그래밍에서 강점을 보인다. 스레드 안전 보장하기 (1) 전역 변수, 힙, 파일 등 여러 스레드가 동시 접근 가능한 공유 자원을 최대한 사용해서는 안 된다. (공유 자원에 접근할 경우 리소스에 lock을 건다.) (2) 핸들, 포인터 등을 활용해 데이터를 간접 접근해서..