-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
- 정의: 두 개 이상의 프로세스나 스레드가 공유 자원에 동시에 접근하여 읽거나 쓰려고 할 때, 접근 순서나 타이밍에 따라 실행 결과가 달라지는 상태
- 원인: 근본적인 원인은 하이레벨 언어의 한 줄 코드가 실제로는 여러 개의 기계어 명령어로 쪼개져서 실행(비원자적)되기 때문입니다. 이 쪼개진 명령어들 사이로 OS 스케줄러에 의해 문맥 교환(Context Switching)이 발생하면, 다른 스레드가 변경 전의 데이터를 읽어가거나 덮어쓰게 되어 데이터 무결성이 깨지게 됩니다.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels