1.16.2 잠금 순서 꼬임

    1.8절에서 살펴본 잠금 순서 규칙을 지키면 됩니다만, 프로그램 규모가 커지면 이 규칙을 준수하기가 생각보다 어렵습니다. 제일 좋은 것은 잠금 순서 규칙을 최대한 적게 유지하는 것입니다.

    int a;
    mutex a_mutex;
     
    int b;
    mutex b_mutex;
     
    void func1()
    {
      lock(a_mutex);
      a...;
      lock(b_mutex);
      b...;
    }
     
    void func2()
    {
      lock(b_mutex);
      b...;
      lock(a_mutex);
      a...;
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.