멀티쓰레드

· 서버
멀티스레드를 이용하는 서버 엔진을 설계해보면서 각 유저 세션의 송신버퍼(SendBuffer)를 불가피하게 Lock으로 관리해야 했다. 현재 구조에서는 문제가 없지만 나아가 Deadlock이나 Lock에 의한 성능 저하가 걱정되어 락 프리(Lock-Free) 알고리즘에 대해 공부해보았고 이를 정리해보았다. 락 기반 알고리즘의 문제점 Mutex, Semaphore나 를 이용한 Lock을 통해 멀티스레드를 관리할 때에는 Lock을 획득하지 못한 스레드는 Lock을 획득한 스레드가 해당 Lock을 Release 할때까지 대기상태에 머물러야 한다는 단점이 있음. 또 DeadLock과 같은 예상하지 못한 문제가 발생할 수도 있다. 한마디로 일반적으로 Lock 사용 시 공유 메모리에 접근하는 멀티쓰레드가 많아질수록 ..
멍텅구링
'멀티쓰레드' 태그의 글 목록