- asyncio
- 비동기 방식으로 명령을 진행하는 것
- python 3.4 이상
- 어디에쓰나
- io blocking 을 처리
- 컨텍스트 스위칭을 안하게 하기 위해서
- session 을 만들때 -> 자기가 일하면 cpu 를 쓴다.
- socket
- client - server
- server 가 항상 떠있어야한다.
- UDP - 데이터 유실 ㄱㅊ - 로그데몬
- TCP - 데이터 유실되면 안됨 - 채팅
- 블락되는 것을 막기위한 방안
- 멀티프로세스
- accept 하면 자식 프로세스 생성
- 멀티 쓰레드
- accept 하면 쓰래드 생성
- 멀티 플렉싱
- 1개 쓰레드에서 다수의 클라이언트에 연결된 소켓(파일 디스크립터) 을 관리
- select 사용 - select 에서만 블락
- 동시접속이 1000개이상 될 가능성이 있을때 무조건 사용해야한다.
- 연결이 되었을때만 실행된다.
- 멀티프로세스