운영체제

Multiprocessing vs Threading vs AsyncIO

kcj3054 2022. 6. 22. 17:31

CPU BOUND VS IO BOUND

  • CPU BOUND는 프로세스 진행이 CPU속도에 의해 결정된다 주로 행렬 곱, 고속 연산, 압축 파일등에 사용된다,

  • IO BOUND는 파일쓰기, 네트워크 통신, 시리얼 포트 송수신(카드 단말기에 카드 결제)인데, 작업에 의해서 수행시간이 결정된다.

멀티프로세싱, 멀티스레딩, 비동기

  • Mutiprcoessing : 고가용성 cpu, 10개의 부엌이 존재한다면 10명의 요리사 10개의 요리가 나온다. 각기 처리

  • Threading : Fast IO Bound, 1개의 부엌, 10명의 요리사, 10개의 요리

  • AsyncIO : SLOW IO, 1개의 부엌, 1명의 요리사, 10개의 요리.