멀티스레드와 뮤텍스 락 이해
1. 멀티스레드 이론
1.1 스레드 정의
운영체제에서 각 프로세스는 독립적인 메모리 공간을 갖는다. 기본적으로 모든 프로세스는 하나의 제어 스레드(主线程)를 포함한다.
프로세스는 자원 집합으로 간주되며, 스레드는 CPU에서 실행되는 단위이다. 멀티스레드는 하나의 프로세스 내에 여러 제어 스레드가 존재하는 개념으로, 해당 프로세스의 주소 공간을 공유한다.
예시 ...
7월 18일 09:29에 게시됨
멀티스레드 학습 필수 9가지 방법
서론:
Thread 클래스를 상속하거나 Runnable 인터페이스를 구현하는 방법 외에 run() 메서드를 재정의해야 합니다. 이 run() 메서드 내에서 발생하는 예외는 try...catch 를 통해만 처리할 수 있으며, 예외를 상위로 던jar는 것은 불가능합니다. 이는因為 run() 메서드가 예외를 던질 수 없도록 설계되었기 때문입니다.
이번 기고에서는 멀티스레드 학습 과정에서 반드시 ...
7월 15일 16:45에 게시됨
디자인 패턴 - 싱글톤 패턴 완벽 이해하기
생성 패턴의 핵심 목표는 객체 생성 과정과 사용을 분리하는 것입니다. 이를 통해 시스템의 결합도를 낮추고, 사용자는 객체가 어떻게 생성되는지 알 필요 없이 사용할 수 있습니다.
생성 패턴의 종류는 다음과 같습니다:
싱글톤 패턴
팩토리 메서드 패턴
추상 팩토리 패턴
프로토타입 패턴
빌더 패턴
싱글톤 패턴이란?
싱글톤 패턴은 클래스의 인스턴스가 오직 하나 ...
7월 5일 04:46에 게시됨
JUC 프로그래밍: Lock과 Condition
JUC란?
JUC는 Java에서 제공하는 동시성 도구 패키지로, java.util.concurrent라는 클래스 라이브러리를 의미합니다. 이 패키지는 고성능 멀티스레드 애플리케이션을 개발하기 위해 다양한 클래스와 인터페이스를 제공합니다. 주요 기능은 CPU 자원을 효율적으로 활용하는 것입니다.
비고:
쓰레드는 start() 메서드로 시작하지 않고, 사실상 내부의 native 메서드인 sta ...
6월 15일 02:46에 게시됨
PyQt5 신호 및 슬롯 활용 방법
자체 정의 신호와 내장 신호의 주요 차이점은 emit 호출이 필요하다는 점입니다. 이 점을 반드시 기억해야 합니다.
주의 사항
(1) 자체 정의 신호는 __init__() 함수 전에 정의해야 합니다.
(2) 신호는 int, list, dict, tuple, object 등 다양한 타입의 파라미터를 전달할 수 있습니다.
(3) 신호와 슬롯 간의 호출 로직을 주의하여 무한 루프가 발생하지 않도록 해야 합 ...
6월 12일 19:39에 게시됨
C++ 기반 다중 클라이언트 통신 시스템 구현
1. 시스템 개요
본 문서는 C++로 구현된 다중 클라이언트 통신 시스템에 대한 기술 노트입니다. 이 시스템은 TCP 소켓을 기반으로 하는 클라이언트-서버 아키텍처를 채택하며, 다중 클라이언트의 동시 접속과 메시지 브로드캐스트 기능을 제공합니다. 멀티스레딩 기법을 활용하여 동시성을 처리합니다.
2. 시스템 아키텍처
2.1 파일 구조
├── Server.h
├── Server.cpp
├ ...
6월 2일 19:45에 게시됨