inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 IPC 프로그래밍 - 이론과 실습

Semaphore(SysV + POSIX)

counting semaphore에 대해서 질문이 있습니다

305

젓인

작성한 질문수 158

0

counting semaphore가 사용되는 예를 알 수 있을까요? 너무 mutex에 집중되다보니 하나의 자원을 동시에 n명이 접근해도 되는건지가 의문이고 어떠한 경우에 사용되는지 모르겠습니다

linux

답변 3

1

런잇(ProgCoach4U)

일반적인 critical section에는 counting semaphore가 적합하지 않습니다. 실제 리소스가 n개가 존재하는 경우 n개까지 허용해주는 counting semaphore를 적용한다 생각하시면 좀 더 이해가 되실까요? 예를 들어, n개의 thread가 있고, thread를 하나씩 가져다 사용한다는 개념으로 구현할 때, thread 사용 요청에 대해 n값의 counting semaphore를 이용해 동기화를 할 수 있겠네요 :)

0

젓인

답변 감사드립니다. 제가 잘 모르겠는데 혹시 n개까지의 동시 접근이 허용한 경우는 동기화에 문제가 있지 않나요?

0

런잇(ProgCoach4U)

counting semaphore는 자원이 하나만 있는 것이 아니라 n개의 자원이 있는 경우에 사용할 수 있습니다. 혹은 하나의 자원만 있는 경우에도 n개 까지의 동시 접근이 허용 가능한 경우에도 사용할 수 있습니다. 

 

fork() 후 address

0

40

2

bind(): Address already in use

0

58

2

POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법

0

215

2

강의 순서

0

262

1

강의자료 질문

0

243

1

수업 관련 질문

0

354

3

안녕하세요! 메세지 큐 방식에 대해 질문있습니다.

0

268

1

리눅스는 디버깅이 없나요?

1

722

1

fcntl 에서 Read/Write 기능

1

354

1

시스템 프로그래밍 향후 공부

1

506

1

Shared Memory와 동기화 관련

1

1181

1

거의 모든 함수를 static 선언하시는 이유는 무엇인가요?

1

2326

1

SHM_REMAP

1

317

2

recvfrom 질문

1

715

6

컴파일 질문입니다

1

675

1

partial send/recv에 관하여

1

670

1

스레드끼리의 통신에도 적용가능한가요?

1

374

1

File Lock API - 정리 table에서 multi-thread 사용가능시....

1

412

1

WSL Ubuntu에서 메시지 큐

1

464

1

shared memory(14강) live programming file mapping 에 관한 질문입니다.

1

203

1

에러 - bind(): Address already in use

1

1137

1

POSIX MQ의 설정 문의

1

602

2

accept 함수에 대한 문의

1

292

1

datagram socket 구현시 recvfrom에서 블록킹됩니다.

1

1505

1