[게임 서버] 1.17 심화 내용 및 더 읽을거리
카테고리: GameServer
태그: GameServer
이 글은 아래의 책을 자세히 정리한 후, 정리한 글을 GPT에게 요약을 요청하여 작성되었습니다.
게임 서버 프로그래밍 교과서, 배현직 저자
📦 1. 멀티스레딩
👉🏻 항목 17: 심화 내용 및 더 읽을거리
원자 조작을 사용하면 여러 스레드가 안전하게 접근할 수 있는 코드를 짤 수 있다. (e.g. 병렬 자료 구조)
그러나 이는 매우 어려우며, 안전한지에 대해 논리적인 증명을 거쳐야 한다.
✅ 멀티스레드를 더 편리하게 만들어주는 도구들
멀티스레드 프로그래밍을 편리하게 해주는 도구, API, 언어가 있다.
언어 | 방법 |
---|---|
C++ | std::future , OpenMP, … |
파이썬, Go | 코루틴, … |
C# | async, await, … |
🧱 액터 모델 (Actor Model)
- 액터 모델은 병렬 처리를 일반화한 설계 패턴이다.
- 싱글스레드 프로세스(액터) 들이 메시지를 통해 통신하며 작업을 분산 처리한다.
- 공유 메모리 없이 작동하며, 스레드 동기화 문제를 회피할 수 있다.
- Erlang, Akka(Scala), Swift Concurrency 등이 이 모델을 채택하고 있다.
댓글남기기