지금은 자신있는 운영체제문제다.
세마포어는 lock을 잡는 쓰레드 개수를 조정한다.
lock을 잡는 이유는 공유 자원에 동시 접근해 문제가 생기는 race condition방지.
즉 세마포어 함수는 정수값을 인자로 갖는 객체인데, 정수값은 쓰레드 개수이다 여기서 양수면 사용중인 쓰레드남은 개수이고 음수면 대기중인 쓰레드 개수이다.
즉 멀티 쓰레드가 공유 자원 접근 시 사용
semwait() 하면 감소
sempost() 하면 증가 및 대기중인 쓰레드를 깨워줌. 뮤텍스는 하나의 쓰레드를 기반으로 한 상호 배제 기법. 공유자원에 접근 권한이 있는 쓰레드만 사용가능. 나머지는 걍 대기해라. (상호 배제의 약자 이기도함) 세마포어와 달리 접근 쓰레드개수가 only 1개.
lock unlock사용.
기똥찬 설명 링크: https://worthpreading.tistory.com/m/90
나중에 기억 안날때 보면 바로 기억날듯...
'컴퓨터공학' 카테고리의 다른 글
[1일1cs] 데이터베이스의 이상현상 (0) | 2022.07.04 |
---|---|
[1일1cs] 로드밸런싱과 로드밸런서 (0) | 2022.07.03 |
[1일1cs] 데이터베이스 트랜잭션 (0) | 2022.07.02 |
[1일1cs] 사설 ip와 공공ip (0) | 2022.06.30 |
[1일/1cs] 데이터베이스 정규화 (0) | 2022.06.29 |