C++ 멀티스레딩: thread

프로세스와 스레드 프로세스: 시스템 리소스 할당의 최소 단위, 일반적으로 실행 중인 프로그램 인스턴스로 정의됨 스레드: 시스템 작업 스케줄링의 최소 단위 프로세스 간 통신: 파이프, 세마포어, 신호, 메시지 큐, 공유 메모리, 소켓 스레드 간 통신: 락 메커니즘, 세마포어 메커니즘, 신호 메커니즘, 배리어 동기화: 작업 조각의 순서를 보장하는 것 상호 배제: 동일한 ...

6월 16일 20:34에 게시됨

파이썬 멀티스레딩과 threading 모듈 활용

스레드 기본 개념 스레드와 프로세스는 사용 방식과 스케줄링 전략이 유사하지만 본질적인 차이점은 다음과 같습니다: 프로세스: 자원 할당 단위로, 독립된 메모리 공간을 나타냅니다 스레드: 실행 단위로, 실제 코드 명령어를 실행합니다 하나의 프로세스 내에는 여러 개의 스레드가 존재할 수 있으며, 마치 하나의 공장에 여러 개의 생산 라인이 있는 것과 같습니다. ...

6월 10일 21:15에 게시됨

클라이언트 기반 소켓 허트비트 이상 감지 시스템의 C 언어 구현

개요 이 문서는 클라이언트가 서버로 정기적으로 허트비트 패킷을 전송하는 방식을 기반으로 한 연결 상태 모니터링 시스템을 설명합니다. 서버는 응답을 반환하지 않고, 클라이언트의 활성 여부를 간접적으로 판단하여 비정상적인 연결을 탐지하고 세션 정보를 정리합니다. 핵심 원리 클라이언트 측: 3초 간격으로 허트비트 메시지를 전송합니다. 서버 측: 별도의 ...

6월 6일 18:20에 게시됨

Java의 Synchronized와 CAS: 비관적 잠금과 낙관적 잠금 이해하기

Java에서 Synchronized는 비관적 잠금의 대표적인 예로, 어떤 데이터 접근이든 무조건 잠금을 걸어야 한다는 원칙을 따릅니다. 이는 사용자 모드와 커널 모드 간 전환, 잠금 카운터 관리 및 차단된 스레드 검사 등을 포함하는 복잡한 과정을 필요로 합니다. 하지만 하드웨어 명령어 집합의 발전으로 인해 충돌 감지 기반의 낙관적 동시성 제어가 가능해졌습니다. 먼저 작업 ...

6월 6일 02:21에 게시됨

Java 스레드基礎 가이드

Java를 학습하는 과정에서 스레드 개념은 반드시 마주치게 된다. Android 개발을 접해보면 스레드가 얼마나 중요한지 실감나게 된다. 이번 글에서는 Java 스레드의 기본적인 사용법을 정리해보고자 한다. 프로세스와 스레드의 차이점 먼저 중요한 개념 정리가 필요하다. 프로세스(Process)와 스레드(Thread)는 서로 다른 개념이다. 프로세스는 실행 중인 프로그램을 의미 ...

6월 1일 21:32에 게시됨

Java 다중 스레드 심화: 스레드 생명주기부터 동시성 안전까지

1. 스레드 풀 핵심 개념 스레드 풀의 작동 원리와 생성 방식 원리: 스레드 자원을 통합적으로 관리하여 재사용하고, 반복적인 생성/소멸 비용을 줄이며 실행 흐름을 조정하고 감시한다. 생성 이유: 스레드 생명 주기 관리 비용 절감 및 시스템 응답 속도 향상; 동시 실행 스레드 수 제어로 자원 고갈 방지; 실행 상태 추적 및 예외 처리 용이화. 생성 방법: ThreadPoolExe ...

5월 28일 16:16에 게시됨

소켓 프로그래밍을 이용한 웹 서버 구현

작업 설명 Huawei Kunpeng 클라우드 서버의 CentOS 또는 Ubuntu 환경에서 Linux Socket을 사용하여 다음을 구현합니다: time 서버의 클라이언트와 서버를 작성하고, 실행 화면을 제출하세요. echo 서버의 클라이언트와 서버를 작성하고, 실행 화면을 제출하세요. 서버는 클라이언트로부터 받은 내용에 "서버 PID 학번 이름 echo:"를 추가하여 반환합니다. 서버 ...

5월 24일 23:44에 게시됨