728x90
반응형
시스템이 동작하는 방식에는 폴링과 이벤트가 있다.
polling 은 주기적으로 확인해보는 것이고, event 는 사건 발생 시 나에게 알려주는 방식이다.
일반적으로 Event 처리 방식이 즉각 반응이 가능하므로 많이 선호되는 방식이지만,
사건 발생이 일을 처리하는 것보다 일찍 일어난다면 polling 이 더 낫다.
주로 대용량의 데이터가 아주 빠르게 들어올 때 이런 일이 발생한다.
그냥 복잡하게 생각하지 않고 생각해봐도,
이벤트가 발생하지도 않았는데 어떤 일이 있나 계속해서 확인한다면,
그것이 낭비임을 알 수 있다.
가장 최근 시간을 들여서 만든 코드에서, polling 이 변수였기에 이렇게 따로 포스팅을 써봤다.
파이썬에서 subprocess 를 이용하여 하위 프로세스를 생성했을 때,
프로세스가 종료되어 정상 반환할 수 없고 계속해서 진행중이지만 나는 그 프로세스와 통신해야할 때는
while 문으로 계속해서 해당 프로세스에 polling 하여 값을 읽어와야했다.
괜히 다른 곳에 시간을 많이 쏟은 것 같다.
728x90
반응형
'Archive > Develop' 카테고리의 다른 글
[ Python ] 파이썬 스케줄러 작성하기(APScheduler) - BlockingScheduler | 파이썬 반복 작업 수행 (1) | 2021.12.14 |
---|---|
[ Python ] == , != 와 is, is not 의 차이점 (0) | 2021.12.13 |
[ SVN ] 내가 보려고 쓰는 SVN 명령어 (0) | 2021.12.08 |
[ Python ] 파이썬 비동기 처리 | asyncio | 비동기란 무엇인가 | 비동기 예제 (2) | 2021.12.08 |
[ SQL ] Programmers SQL 고득점 Kit SELECT - 1 (MYSQL, ORACLE) (0) | 2021.12.07 |