ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Lock 구현 이론
    게임서버/멀티쓰레드 프로그래밍 2022. 3. 11. 11:52

    1. 스핀락(SpinLock)

    락이 열릴 때 까지 계속 대기하는 방법.

     

    장점.

    락이 풀리자마 빠르게 점유할 수 있다.

     

    단점.

    락이 열리지 않으면 계속 대기해야되서 성능이 저하될 수 있다.

     

    2. 컨텍스트 스위칭(Context Switching)

    일정한 주기로 락이 열려있는지 확인하고 점유하는 방법.

     

    장점.

    락이 열릴 때 까지 기다리는 동안 다른 작업을 할 수 있다.

     

    단점.

    쉬는 사이에 다른 쓰레드가 락을 점유해버릴 수 있다.

    다른 작업을 하러 갔다가 다시 오는 과정도 성능에 부담이 된다.

     

    3. 오토리셋 이벤트(AutoRestEvent)

    이벤트 방식을 이용하여 락이 열리면 대기했던 쓰레드에게 열렸다는 사실을 전달하는 방식.

     

    장점.

    락이 열릴 때 까지 기다리는 동안 다른 작업을 할 수 있다.

     

    단점.

    없음.

    '게임서버 > 멀티쓰레드 프로그래밍' 카테고리의 다른 글

    컨텍스트 스위칭(Context Switching)  (0) 2022.03.11
    스핀락(SpinLock)  (0) 2022.03.11
    데드락  (0) 2022.03.10
    Lock 기초  (0) 2022.03.10
    Interlocked  (0) 2022.03.10
Designed by Tistory.