jinh2352.log
로그인
jinh2352.log
로그인
(+) Summary
Jin Hur
·
2021년 9월 27일
팔로우
0
0
[Linux] Concurrency: 쓰레드, 락, 세마포어 그리고 데드락
목록 보기
5/7
Concurrency(병행성) 관련 용어
공유 데이터(shared data), 경쟁 상태(race condition), mutual exclusion(상호 배제)
Lock before/after
critical section(임계구역) 설정
<= mutex 방법 중 하나
Lock implementation
H/W + OS Cooperation
HW: atomic perations(기계 명령어) =>
test-and-set 과정을 원자적으로 처리, correctness 향상
OS: sleep queue management =>
polling(spin lock)이 아닌 sleep 방식으로 낭비된느 CPU 타임을 줄임, 성능 향상
Spin lock and Sleep Lock: Rule of thumb(경험 법칙, 상황에 맞게 적절히 선택하는 것이 좋음)
짧은 임계구역 -> spin lock (context-switch 오버헤드가 더 큼)
긴 임계구역 -> sleep lock
how about hybrid? -> two-phase locks(spin at first, then sleep)
Jin Hur
팔로우
이전 포스트
Locked Data Structure (Concurrency Data Structure)
다음 포스트
Condition Variables(조건 변수): for synchronization
0개의 댓글
댓글 작성