요약
- 동시성 실행 모델에는 크게 4가지의 모델이 있다.
본문
- fork per job 모델
- 작업이 들어올때마다 부모가 fork해서 새 자식 프로세스를 만들어 작업을 처리하는 방식
- 복잡하지 않지만, overhead가 많이 듦
- prefork
- 부모가 미리 여러 자식을 fork 해두고 자식 프로세스는 계속 살아 있으면서 여러 job을 처리함, 주기적으로 특정 개수 이상의 job을 처리한 process를 죽임
- 스레드 기반 모델
- fork 대신 하나의 프로세스 안에서 스레드 풀을 운영하고 작업은 스레드 단위로 실행
- 비동기/코루틴 기반 모델
- 프로세스/스레드 대신 green thread, coroutine으로 동시성 처리
- 유저 스레드 기반 모델