728x90

스레드 5

24.08.14 CS, Dev

24.08.14 CS, DevCS멀티 프로세스 VS 멀티 스레드멀티 프로세스와 멀티 스레드는 한 어플리케이션에 대한 처리방식이라고 보면 된다. 단순히 프로그램을 여러개 띄워놓는 것이 멀티 프로세스가 아니라 이 둘은 언제 어느때에 어떤 방식으로 처리하느냐에 따라 다른 것으로 이해해야 한다.멀티 프로세스멀티 프로세스는 운영체제에서 하나의 응용 프로그램에 대해 동시에 여러 개의 프로세스를 실행할 수 있게 하는 기술을 말한다. 보통 하나의 프로그램 실행에 대해 하나의 프로세스가 메모리에 생성되지만, 부가적인 기능을 위해 여러개의 프로세스를 생성하는 것이다.멀티 프로세스 내부를 보면, 하나의 부모 프로세스가 여러 개의 자식 프로세스를 생성함으로서 다중 프로세스를 구성하는 구조이다. 한 프로세스는 실행되는 도중 프..

ConcurrentQueue<T>

ConcurrentQueue.NET의 ‘System.Collections.Concurrent’ 네임스페이스에 속한 스레드 안전한 큐이다.여러 스레드가 동시에 안전하게 요소를 추가하고 제거할 수 있도록 설계되었다. 이는 멀티스레딩 환경에서 데이터 구조를 안전하게 사용할 수 있게 해준다.주요 특징스레드 안정성(Thread-Safety)스레드 안전하게 설계되어 여러 스레드가 동시에 큐에 접근하여 요소를 추가하거나 제거할 수 있다.FIFO(First-In-First-Out)선입선출 방식으로 작동한다.비차단(Non-Blocking)대부분의 작업에서 잠금(lock)을 사용하지 않으며, 따라서 성능이 매우 좋다.주요 메서드Enqueue(T item)큐의 끝에 요소를 추가한다.TryDequeue(out T result..

언어/C# 2024.07.31

스마트 풀

스마트 풀스마트 스레드 풀은 효율적인 작업 처리를 위해 스레드의 생성 및 관리를 자동화하는 고급 스레드 풀 라이브러리다. 이를 통해 애플리케이션이 동시에 여러 작업을 수행할 때 스레드 리소스를 효과적으로 활용할 수 있다.주요 기능동적 스레드 관리 ****필요에 따라 스레드를 동적으로 생성하거나 제거한다.작업 큐 관리실행 대기 중인 작업을 큐에 저장하고 적절히 분배한다.타임아웃 지원작업 실행에 타임아웃을 설정하여 지정된 시간 내에 완료되지 않으면 중단한다.우선순위 처리작업의 우선순위를 설정하여 중요한 작업이 먼저 실행되도록 한다.작업 완료 알림작업이 완료되면 콜백을 통해 알림을 받는다.

언어/C# 2024.07.31

프로세스 & 스레드

프로세스 & 스레드프로세스 : 프로그램을 메모리 상에서 실행중인 작업스레드 : 프로세스 안에서 실행되는 여러 흐름의 단위기본적으로 프로세스마다 최소 1개의 스레드를 소유하고 있다.(메인 스레드 포함)주소 공간프로세스는 각각 별도의 주소공간을 할당한다.(독립적)Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령)Data : 전역변수, 정적변수, 배열 등초기화 된 데이터는 data 영역에 저장된다.초기화 되지 않은 데이터는 bss 영역에 저장된다.Heap : 동적 할당 시 사용한다.(new(), malloc() 등)Stack : 지역변수, 매개변수, 리턴 값(임시 메모리 영역)스레드는 Stack만 따로 할당 받고 나머지 영역은 서로 공유한다.하나의 프로세스가 생성될 떄, 기본적으로 하나의 스레드가 ..

Computer/CS 2024.06.28

24.06.28 CS

CS운영체제(OS, Operationg System)하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있다.운영체제의 역할프로세스 관리프로세스, 스레드스케줄링동기화IPC 통신저장장치 관리메모리 관리가상 메모리파일 시스템네트워킹TCP/IP기타 프로토콜사용자 관리계정 관리접근권한 관리디바이스 드라이버순차접근 장치임의접근 장치네트워크 장치1. 프로세스 관리운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에..

728x90