Boost C++ Libraries

boost C++ Libraries 문서 한글 번역 진행 중 입니다.
Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 핵심 개념 및 기능 - 스트림, 짧은 읽기와 짧은 쓰기

스트림 짧은 읽기와 짧은 쓰기 (Streams, Short Reads and Short Writes) Boost.Asio의 많은 I/O 개체는 스트림 지향적(stream-oriented)이다. 이는 다음을 의미한다: 메시지 경계가 없다. 전송되는 데이터는 바이트의 연속된 순서다. 읽기나 쓰기 작업은 요청된 바이트 수보다 적은 바이트 수를 전송할 수 있다. 이를 짧은 읽기 또는 짧은 쓰기라고 한다. 스트림 지향 I/O 모델을 제공하는 객체는 다음 유형 요건 중 하나 이상을 제공한다: SyncReadStream, 여기서 read_some()이라는 멤버 함수를 사용하여 동기식 읽기 작업을 수행한다. AsyncReadStream, 여기서 async_read_some()이라는 멤버 함수를 사용하여 비동기식 읽기 ..

Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 핵심 개념 및 기능 - 버퍼

버퍼 (Buffers) 기본적으로, I/O는 버퍼라고 불리는 메모리 인접 영역과 데이터를 주고받는 것을 포함한다. 이러한 버퍼는 포인터와 크기(바이트)로 구성된 튜플로 단순하게 표현할 수 있다. 효율적인 네트워크 응용프로그램을 개발을 허용하기 위해 Boost.Asio는 Scatter-Gather(분산-수집) 작업의 지원을 포함한다. 이러한 작업은 하나 이상의 버퍼를 포함한다: Scatter 읽기는 데이터를 여러 버퍼로 수신한다. Gather 쓰기는 여러 버퍼를 전송한다. ※ Scatter-Gather는 분산-수집으로 번역이 가능하지만, 글의 전체적인 이해를 위해 영문 그대로 사용한다. 그러므로 버퍼 컬렉션을 표현하려면 추상화가 필요하다. Boost.Asio에서 사용되는 접근 방식은 단일 버퍼를 나타내는 ..

Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 핵심 개념 및 기능 - 스트랜드: 명시적 잠금없이 스레드 사용

스트랜드: 명시적 잠금 없이 스레드 사용 (Strands: Use Threads Without Explicit Locking) 스트랜드(strand)는 이벤트 핸들러의 엄격한 순차 호출(즉, 동시 호출 없음)로 정의된다. 스트랜드(strands)를 사용하면 멀티스레드 프로그램에서 명시적 잠금(예:뮤텍스 사용)없이 코드를 실행할 수 있다. 스트랜드(strands)는 다음 선택 가능한 방식에서 설명하는 것처럼 암시적이나 명시적일 수 있다: 하나의 스레드에서만 io_context::run()을 호출하면 모든 이벤트 핸들러가 암시적으로 스트랜드(strand)에서 실행되는 것을 의미한다. 핸들러가 run() 내부에서만 호출된다는 io_context의 보장 때문이다. 연결과 관련된 비동기식 작업용 단일 체인이 있는..

Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 핵심 개념 및 기능 - 스레드와 Boost.Asio

스레드와 Boost.Asio (Threads and Boost.Asio) 스레드 안정성 일반적으로 개별 개체를 동시에 사용하는 것은 안전하지만, 단일 개체를 동시에 사용하는 것은 안전하지 않다. 하지만 io_context와 같은 유형은 단일 개체를 동시에 사용하는 것이 안전하다는 더 강력한 보증을 제공한다. 스레드 풀 여러 스레드에서 io_context::run()을 호출하여 완료 핸들러를 호출할 수 있는 스레드의 풀을 설정할 수 있다. 이 접근 방식은 스레드 풀에서 임의 계산 작업을 수행하는 수단으로 post()와 함께 사용할 수 있다. io_context 스레드 풀에 결합된 모든 스레드는 동등한 것으로 간주되며, io_context는 임의의 방식으로 작업을 분산시킬 수 있다는 점에 유의해야 한다. 내..

Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 핵심 개념 및 기능 - Proactor 디자인 패턴: 스레드 없는 동시 실행

Proactor 디자인 패턴: 스레드 없는 동시 실행 (The Proactor Design Pattern: Concurrency Without Threads) Boost.Asio 라이브러리는 동기식과 비동기식 작업에 대한 지원을 함께 제공한다. 비동기식 지원은 Proactor 디자인 패턴 [POSA2]을 기반으로 한다. 전용-동기식이나 Reactor 접근 방식과 비교하는 경우, 이 접근 방식의 장점과 단점은 아래에 요약되어 있다. Proactor와 Boost.Asio 플랫폼 세부사항을 참조하지 않고, Boost.Asio에서 Proactor 디자인 패턴이 어떻게 구현되는지 살펴본다. Proactor 디자인 패턴 ([POSA2]에서 수정됨) 비동기식 작업 (Asynchronous Operation) 소켓에서..

까마귀75
'Boost C++ Libraries' 카테고리의 글 목록 (409 Page)