본문 바로가기
반응형
[C++ 마스터] Day 26: 멀티스레딩과 동기화 멀티스레딩 (Multithreading)멀티스레딩은 하나의 프로그램이 동시에 여러 작업을 수행할 수 있도록 하는 기능입니다. C++11부터 표준 라이브러리는 멀티스레딩을 지원하는 다양한 기능을 제공합니다. 주요 클래스와 함수로는 thread, mutex, lock_guard, unique_lock 등이 있습니다. 1. 스레드 (Thread)스레드는 프로그램의 실행 단위를 나타냅니다. std::thread 클래스를 사용하여 스레드를 생성할 수 있습니다. 1.1 스레드 생성#include #include using namespace std;void printMessage(const string& message) { cout  2. 뮤텍스 (Mutex)뮤텍스는 상호 배제를 제공하여, 여러 스레드가 동시에.. 2024. 8. 1.
[C++ 고급 프로그래밍과 응용 프로젝트 시리즈] Day 18: 프로젝트 1 - 멀티스레딩을 이용한 동시성 처리 멀티스레딩을 이용한 동시성 처리멀티스레딩을 사용하면 여러 클라이언트의 요청을 동시에 처리할 수 있어 서버의 성능을 크게 향상시킬 수 있습니다. 오늘은 C++ 표준 라이브러리의 스레드를 사용하여 웹 서버의 동시성 처리를 구현하겠습니다. 멀티스레딩의 필요성싱글 스레드 서버는 하나의 요청을 처리하는 동안 다른 요청을 기다리게 합니다. 멀티스레딩을 사용하면 여러 요청을 동시에 처리할 수 있어 응답 시간을 줄이고 서버의 처리 능력을 향상시킬 수 있습니다. 멀티스레딩 구현1. 스레드 풀 구현스레드 풀은 일정 수의 스레드를 미리 생성하고, 작업을 큐에 추가하여 스레드가 작업을 처리하도록 합니다. 이를 통해 스레드 생성 및 소멸의 오버헤드를 줄일 수 있습니다. thread_pool.h#ifndef THREAD_POOL.. 2024. 8. 1.
[C++ 성능 최적화 및 고급 테크닉] Day 15: 멀티스레딩의 기본 개념 멀티스레딩의 중요성멀티스레딩은 여러 스레드를 사용하여 동시에 작업을 수행함으로써 프로그램의 성능을 향상시키는 기법입니다. 이를 통해 CPU 자원을 효율적으로 사용하고, 응답성을 높일 수 있습니다.기본 용어스레드(Thread): 프로세스 내에서 독립적으로 실행되는 코드의 흐름입니다.멀티스레딩(Multithreading): 여러 스레드를 사용하여 동시에 여러 작업을 수행하는 기법입니다.병렬 처리(Parallel Processing): 여러 프로세서나 코어에서 동시에 작업을 수행하는 기법입니다.경합(Concurrency): 여러 작업이 동시에 실행되는 것처럼 보이는 상태입니다.C++에서의 멀티스레딩C++11부터 표준 라이브러리에서 멀티스레딩을 지원하는 기능이 도입되었습니다. std::thread 클래스를 사용.. 2024. 8. 1.
반응형