Skip to content

[5. 병행제어] 동시성 문제를 해결하기 위한 방법? #38

@qkrtjdwo5662

Description

@qkrtjdwo5662

1Depth

Question
임계영역이란 무엇인가?

Answer 동시성 문제는 멀티스레드 환경에서 여러 스레드가 동시에 접근하면 안되는 공유자원을 참조하는 문제를 의미하며, 이러한 동시성 문제가 발생하는 코드 영역을 임계영역이라고 한다.

2Depth

Question
동시성 문제를 해결하기 위한 방법은 무엇인가?

Answer 상호배제 : 임계구역에 오직 하나의 스레드만 들어가게 하는 것
상호배제를 구현하기 위한 기법에는 뮤텍스, 스핀락, 세마포의 방식이 있다.

3Depth

Question
뮤텍스와 스핀락을 비교해보자

Answer 뮤텍스 : 락이 잠겨있으면 blocking 되어 대기큐에서 대기하며 대기시간이 긴 경우에 사용하는 것이 적합하다.
스핀락 : 락이 풀릴때까지 계속해서 락을 검사하며 지속적인 cpu를 사용하여 대기시간이 짧은 경우에 사용하는 것이 적합하다.

Additional Explain

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions