동기화란, 둘 이상의 프로세스나 스레드가 서로 협력하여 수행할 때, 작업이 원활하게 수행되도록 제어하는 기술을 말합니다.
동기화 기법은 공유 자원에 대한 접근 제어 및 공유 자원의 일관성 유지를 위해 사용 됩니다.
대표적인 동기화 기법
- 뮤텍스(Mytex) : 공유 자원에 대한 접근을 단일 쓰레드에게 제한하는 기법으로, 쓰레드 간 경쟁조건(race condition)을 방지한다.
- 세마포어(Semaphore) : 동시에 접근할 수 있는 쓰레드의 수를 제한하는 기법으로, 특정한 자원에 대한 동시 접근을 제한하거나, 작업의 진행 상태를 제어하는 등 다양한 용도로 사용된다.
이외에도 모니터(Monitor), 교착상태(Deadlock), 인터락(interlock)등 다양한 동기화 기법이 있습니다.
'기술면접 > 백엔드종합' 카테고리의 다른 글
인증과 권한 부여의 차이점 (0) | 2023.04.24 |
---|---|
쿠키와 세션의 차이 (0) | 2023.04.24 |
RESTful API란? (0) | 2023.04.24 |
멀티쓰레드와 멀티프로세스의 차이점 (0) | 2023.04.24 |
프로세스와 스레드의 차이 (0) | 2023.04.14 |