Coding Planet

동기화(同期化, synchronization)란? 본문

CS

동기화(同期化, synchronization)란?

jhj.sharon 2023. 5. 4. 21:19
반응형
  • 동기화는 멀티스레드 환경에서 공유 데이터에 접근할 때 발생하는 문제를 해결하기 위한 메커니즘
  • 멀티스레드 환경에서 하나의 자원에 여러 스레드가 동시에 접근하면 데이터의 불일치성, 일관성이 깨지거나 충돌이 발생할 수 있다. 
  • 이러한 문제를 방지하기 위해 스레드 간의 작업을 조율하는 것이 동기화
  • 동기화는 하나의 스레드가 작업을 수행하고 있는 동안 다른 스레드가 해당 작업에 접근하지 못하도록 막아준다. 
  • 이를 통해 공유 데이터의 일관성을 유지하고 데이터의 무결성을 보장
  • 따라서 어떠한 메서드나 자료형을 쓸 때 해당 자료형이 동기화를 지원하는지를 고려해야한다. 예를들어 HashSet은 동기화되어있지 않아 멀티스레드 환경에서 안전하게 사용하기 위해서는 동기화 처리를 해주어야한다.
반응형
Comments