Skip to Content
파이썬 비동기 라이브러리 Asyncio
book

파이썬 비동기 라이브러리 Asyncio

by 동동구, 케일럽 해팅
May 2021
Beginner to intermediate
176 pages
3h 37m
Korean
Hanbit Media, Inc.
Content preview from 파이썬 비동기 라이브러리 Asyncio
35
2
스레드에 관한 진실
1
self
.
knives
에서 현재 값을 읽어 들여 임시 저장소에 저장한다.
2
knives
의 값을 임시 저장소 내의 값에 합산한다.
3
임시 저장소 내의 값을 복제하여 원래의 저장소인
self
.
knives
에 저장한다.
선점형 멀티태스킹의 문제는 이런 단계를 실행 중인 스레드가
언제든
중단된
interrupt
후 다른 스
레드에서 해당 단계가 실행될 수 있다는 점이다.
예를 들어
ThreadBot
A
1
단계를 수행하고 있다고 하자. 그런데
OS
스케줄러가
A
를 정지
시키고
ThreadBot
B
로 콘텍스트 전환을 수행한다.
B
1
단계에 따라
self
.
knives
의 현재
값을 읽어 들인다. 그리고
OS
B
를 일시 중지시키고
A
의 실행을 재개한다.
A
2
,
3
단계를
실행하고,
B
의 실행을 재개한다. 하지만
B
A
에 의해 중단된 위치 (
1
단계 이후 )부터
2
,
3
계를 실행한다. 따라서
A
에 의해 실행 결과가
분실
된다.
CAUTION
_
복잡하게 보이지만 이 경합 조건 사례는 아주 간단한 경우다. 위 예제에서는
모든
코드를 확인
할 수 있었고, 테스트에서 문제를 바로 재현할 수 있었다. 하지만 현실의 더 큰 프로젝트에서는 지옥이 펼쳐
진다.
이 문제는 공유되는 상태 값에 대해 변경을 수행하는 코드 주변에
을 둘러 수정할 수 있다
(
Cutlery ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

프로그래머의 길 멘토에게 묻다

프로그래머의 길 멘토에게 묻다

David Hoover, Adewale Oshineye, Kang Jung Bin
파이썬 라이브러리를 활용한 텍스트 분석

파이썬 라이브러리를 활용한 텍스트 분석

젠스 알브레히트, 싯다르트 라마찬드란, 크리스티안 윙클러

Publisher Resources

ISBN: 9791162244197