IOCP

잼광·2024년 10월 14일

Input/Output Completion Port

: 윈도우 운영체제에서 *비동기I/O 작업을 관리하는 데 사용하는 기술

IOCP는
비동기 I/O작업을 관리하며, 이를 통해작업이 완료될 때까지 기다리지 않고 다른 작업을 수행할 수 있습니다.
: 윈도우 운영체제에서 *비동기I/O 작업을 관리하는 데 사용하는 기술

*비동기 I/O 작업
I/O요청이 큰 데이터베이스의 새로 고침 또는 백업 또는 느린 통신 링크와 같이 많은 시간이 소요될 것으로 예상되는 경우 처리 효율성을 최적화하는 방법출처

스레드 풀(Thread Pool)

여러 작업을 동시에 처리하기 위해 미리 만들어진 스레드의 집합입니다.
일정한 수의 스레드만을 사용하여 과도한 스레드 생성으로 인한 리소스 낭비를 방지합니다.
작업을 완료한 스레드는 스레드 풀에 반환하여 재사용하는 것으로 새로운 스레드를 생성하고 파괴하는 오버헤드를 줄입니다.

출처

스레드 풀의 장점:
리소스를 효율적으로 관리하며 복잡한 동시성 문제를 쉽게 관리할 수 있습니다.
스레드 풀의 단점:
스레드 풀을 잘못 관리할 시 데드락이나 스레드 경쟁상태와 같은 문제가 발생할 수 있습니다.

주요 용도

IOCP는 주로 고성능 네트워크 서버 및 비동기I/O 작업을 효율적으로 처리하는 데 효과적인 매커니즘 입니다.
IOCP는 대규모 네트워크 서버에서 수많은 클라이언트 요청을 동시에 처리하는데 사용됩니다.

디스크에서 비동기 방식으로 데이터를 읽고 쓰는 데 사용될 수 있습니다.

여러 스레드가 동시에 작업을 수행할 수 있도록 설계되어 있기 때문에 멀티스레드 프로그램의 성능을 최적화하는 데 유용합니다.

대기 시간을 최소화 하여 실시간 애플리케이션의 성능을 높힐 수 있습니다

0개의 댓글