멀티스레드
-
개념 협력적 멀티 프로세스 및 멀티 스레드는 공유 데이터를 동시에 접근하면 그 결과가 접근 순서에 의존되어 데이터의 일관성을 망칠 수 있다. 따라서 이들의 질서있는 실행을 보장하여, 데이터의 일관성을 유지해야 한다. 멀티 프로세스와 멀티 스레드에 대한 자세한 내용은 아래의 링크 참고 [UNIX] 멀티 프로세스 (Multi Process) 프로그래밍 개념 프로세스란 실행 중인 프로그램(실행 파일)이자, 현대의 컴퓨팅 시스템에서 작업의 단위이다. 프로세스는 실행되는 동안 여러 개의 새로운 프로세스들을 생성할 수 있다. 생성하는 프로세 sikpang.tistory.com [UNIX] 멀티 스레드 (Multi Thread) 프로그래밍 개념 프로세스 내에서 실행되는 흐름을 말한다. 기본적으로 하나의 프로세스에는 ..
[UNIX] 멀티 프로세스 및 스레드 공유 데이터 동기화개념 협력적 멀티 프로세스 및 멀티 스레드는 공유 데이터를 동시에 접근하면 그 결과가 접근 순서에 의존되어 데이터의 일관성을 망칠 수 있다. 따라서 이들의 질서있는 실행을 보장하여, 데이터의 일관성을 유지해야 한다. 멀티 프로세스와 멀티 스레드에 대한 자세한 내용은 아래의 링크 참고 [UNIX] 멀티 프로세스 (Multi Process) 프로그래밍 개념 프로세스란 실행 중인 프로그램(실행 파일)이자, 현대의 컴퓨팅 시스템에서 작업의 단위이다. 프로세스는 실행되는 동안 여러 개의 새로운 프로세스들을 생성할 수 있다. 생성하는 프로세 sikpang.tistory.com [UNIX] 멀티 스레드 (Multi Thread) 프로그래밍 개념 프로세스 내에서 실행되는 흐름을 말한다. 기본적으로 하나의 프로세스에는 ..
2023.12.12 -
개념 프로세스 내에서 실행되는 흐름을 말한다. 기본적으로 하나의 프로세스에는 하나의 스레드가 실행되지만, 여러 개의 스레드를 생성할 수 있으며, 이는 동시에 여러 개의 작업을 수행할 수 있다. 이를 멀티 스레드(다중 스레드)라고 한다. 같은 프로세스의 스레드들은 코드, 데이터, 파일, 힙 등의 메모리를 공유한다. 하지만 자신만의 고유한 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택을 가진다. 단일 컴퓨팅 칩에 여러 코어를 배치하는 다중 코어 시스템에서는 처리 능력을 향상시키도록 다수의 CPU 집중 작업을 병렬로 처리할 수 있다. 하지만, 단일 코어 시스템에서는 멀티 스레딩 프로그램을 동시성으로 작업할 수밖에 없다. 멀티 스레드의 활용의 예로 게임 로딩 창을 구현할 때, 데이터들을 로드하고 ..
[UNIX] 멀티 스레드 (Multi Thread) 프로그래밍개념 프로세스 내에서 실행되는 흐름을 말한다. 기본적으로 하나의 프로세스에는 하나의 스레드가 실행되지만, 여러 개의 스레드를 생성할 수 있으며, 이는 동시에 여러 개의 작업을 수행할 수 있다. 이를 멀티 스레드(다중 스레드)라고 한다. 같은 프로세스의 스레드들은 코드, 데이터, 파일, 힙 등의 메모리를 공유한다. 하지만 자신만의 고유한 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택을 가진다. 단일 컴퓨팅 칩에 여러 코어를 배치하는 다중 코어 시스템에서는 처리 능력을 향상시키도록 다수의 CPU 집중 작업을 병렬로 처리할 수 있다. 하지만, 단일 코어 시스템에서는 멀티 스레딩 프로그램을 동시성으로 작업할 수밖에 없다. 멀티 스레드의 활용의 예로 게임 로딩 창을 구현할 때, 데이터들을 로드하고 ..
2023.12.06