Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 동탄 수원 썬팅 블박
- const
- c# 비동기
- <body oncontextmenu = "return false" ondragstart = "return false" onselectstart = "return false">
- C# task
- async
- 포인트
- Camera SPec 설명
Archives
- Today
- Total
끌림
IOCP 본문
IOCP란
"Input Output Completion Port"의 약자이다.
보통은 IOCP라고 부르면 IOCP는 Input/output(I/O)Completion Port를 생성하고
해당 포트로 파일 입출력을 하는 것을 의미한다.
일종의 파일 입출력 기능이라고 생각하면 될것이다.
허나 IOCP는 일반적인 파일 입출력 과는 다르다.
중첩된 파일 입출력 이란 것을 지원하여 파일 입출력 동안에도 다른 작업이
원활히 돌아갈 수 있도록 지원하다.
때문에 IOCP를 "OVERLAPPED",즉 "중첩된 입출력 "이라고도 부른다.
파일 입출력 도중에 다른 작업을 할 수 있도록 파일 입출력을 백그라운드로 운용할 수있도록 도와준다.
백그라운드로 작업을 진행할 수있다는 것은 아주 강력한 힘이 될수 있다.
포그라운드의 작업이 블로킹되지 않는다는 것을 의미하기 때문이다.
- 내부에 큐를 생성하여 입출력이 완료되면 Completion Packet 생성하여 Completion Queue 에 저장
- 쓰레드는 Completion Queue 에서 패킷을 하나 씩 가져와 처리
- 넌블록킹, 비동기 I/O
- IO 를 요청하고 기다릴 필요 없이 리턴하고 다른 일 처리
- 나중에 작업 완료 여부 체크 가능
- 제한된 쓰레드를 사용하여, 컨텍스트 스위칭 시간 절약
Comments