반응형

멀티 스레드 4

멀티 프로세스와 멀티 스레드의 차이점

1. 멀티 프로세스와 멀티 스레드의 개념 멀티프로세싱과 멀티스레딩은 모두 여러 작업을 동시에 실행하는 방법입니다. 그러나 이를 달성하는 방법에는 차이가 있습니다. 멀티스레딩은 단일 프로세스 내에 여러 개의 스레드를 생성합니다. 스레드는 동일한 메모리 공간을 공유하지만 각 스레드에는 고유한 실행 스레드가 있습니다. 즉, 스레드는 동시에 실행될 수 있지만 동시에 다른 리소스에 액세스할 수는 없습니다. 멀티스레드 멀티스레드 시스템은 단일 프로세스 내에서 여러 스레드를 실행하여 동일한 메모리 공간을 공유합니다. 스레드는 프로세스보다 가볍기 때문에 더 효율적으로 생성하고 관리할 수 있습니다. 프로세스 내의 스레드는 메모리, 파일 설명자, 개방형 I/O 스트림과 같은 리소스를 공유하므로 데이터를 더 쉽게 통신하고 ..

공부/OS 2023.06.05

싱글 스레드와 멀티 스레드의 차이점

1. 싱글 스레드와 멀티 스레드의 차이점 싱글 스레드 프로그램은 실행 스레드가 하나만 있는 프로그램입니다. 즉, 프로그램은 한 번에 한 가지 작업만 수행할 수 있습니다. 반면에 멀티 스레드 프로그램은 실행 스레드가 여러 개 있습니다. 즉, 프로그램이 동시에 여러 가지 작업을 수행할 수 있습니다. 단일 스레드 단일 스레드 프로그램에는 실행 경로 또는 스레드가 하나만 있습니다. 프로그램의 명령은 선형적인 방식으로 순차적으로 하나씩 실행됩니다. 단일 스레드 프로그램은 여러 작업을 동시에 수행할 수 없습니다. 사용자 입력을 기다리거나 느린 I/O 장치에 액세스하는 등 차단 작업이 발생하면 작업이 완료될 때까지 전체 프로그램이 일시 중지됩니다. 단일 스레드 프로그램은 일반적으로 공유 데이터를 처리하기 위해 명시적..

공부/OS 2023.06.05

싱글 스레드(single thread)란?

1. 싱글 스레드란? 컴퓨터 과학에서 단일 스레드는 중앙 처리 장치(CPU)가 중단 없이 실행할 수 있는 명령어 시퀀스를 의미합니다. 명령어가 차례로 순차적으로 실행되는 프로그램 내의 단일 제어 흐름을 나타냅니다. 이는 프로세스가 취할 수 있는 실행 경로입니다. 단일 스레드 프로그램에는 실행 스레드가 하나만 있으므로 한 번에 하나의 작업만 수행할 수 있습니다. 2. 싱글 스레드의 특징 실행 흐름: 단일 스레드는 프로그램의 제어 흐름에 따라 순차적으로 명령어를 실행합니다. 각 명령은 다음 명령으로 넘어가기 전에 실행됩니다. 이러한 선형 실행을 통해 간단하고 예측 가능한 작업 순서가 가능합니다. 작업 차단: 단일 스레드가 사용자의 입력을 기다리거나 느린 I/O 장치에 액세스하는 등 블로킹 작업이 발생하면 일..

공부/OS 2023.06.05

멀티 쓰레드(multi-threading)란 무엇인가?

1. 멀티 쓰레드(multi-threading)란 무엇인가? 멀티 스레딩은 단일 프로세스 내에서 서로 다른 실행 스레드를 동시에 실행할 수 있는 프로그래밍 기법입니다. 스레드는 운영 체제에서 독립적으로 스케줄링할 수 있는 프로그램 내의 가벼운 실행 단위입니다. 여러 스레드를 사용하면 프로그램이 여러 작업을 동시에 수행하고 CPU 시간 및 메모리와 같은 사용 가능한 리소스를 더 잘 활용할 수 있습니다. 2. 멀티 쓰레드 동작 방식 멀티 스레드는 하나의 프로세스 내에서 여러 개의 스레드를 동시에 실행합니다. 또한 프로그램에서 각 스레드는 자체 프로그램 카운터, 스택 및 레지스터를 갖지만, 동일한 프로세스의 다른 스레드와 동일한 메모리 공간을 공유합니다. 따라서, 각 스레드는 다른 스레드에 의해 영향을 받을 ..

공부/OS 2023.03.01
반응형