방명록
- 프로세스는 뭐고 스레드는 뭔가요?2024년 12월 05일 14시 58분 21초에 업로드 된 글입니다.작성자: 민발자728x90
https://youtu.be/iks_Xb9DtTM?si=H-O7RXjMW4PKETm6
프로세스(Process)
프로그램이 실행되고 있는 상태, 컴퓨터가 실행 중인 작업 단위
프로세스는 독립적인 실행단위
운영체제는 여러 프로세스를 동시에 실행(멀티태스킹) 가능
운영체제가 자원을 할당
각 프로세스는 자신의 고유 메모리 공간을 가짐
동시성 Concurrency
여러 작업이 동시에 진행되는 것처럼 보이는 상태
단일 CPU에서 시간을 분할하여 여러 작업을 번갈아 실행
빠르게 작업을 전환하여 사용자는 동시에 실행되는 것처럼 느낌
작업을 전환하는 과정 : 문맥 교환 context switching
병렬적 Parallelism
여러 작업이 실제로 동시에 실행되는 상태
멀티코어 CPU에서는 각 코어가 독립적으로 작업을 수행
프로세스 하나에 코어 여러 개가(멀티 코어) 각각 동시에 작업들을 수행
스레드 Thread
프로세스 내부에서 실행되는 작업의 흐름
하나의 프로세스에는 여러 스레드를 가질 수 있음
하나의 프로세스가 여러 작업을 동시 처리하기 위해 여러 스레드 생성
스레드는 프로세스의 자원을 공유
프로세스와 스레드 차이
프로세스는 독립적인 메모리 공간을 가짐
스레드는 동일한 프로세스 내에서 메모리를 공유
스레드 간 통신은 같은 메모리 공간을 사용하므로 빠르고 문맥 교환 비용이 적다
동시성 프로그래밍
여러 작업(스레드, 프로세스)이 동시에 실행되는 프로그램을 작성하는 방식
스레드와 자원공유가 빈번히 발생해 동기화(synchronized)가 필요
동기화 Synchronized
여러 스레드가 동일한 자원에 접근할 때 동기화를 통해 데이터 일관성과 무결성을 보장
스레드가 동시에 자원을 수정하면 경쟁상태가 발생할 수 있음
728x90'데브코스 > 영상과제' 카테고리의 다른 글
가장 쉬운 리눅스 강좌 (1) 2024.12.16 가비지 컬렉터가 뭐하는 건가요? (Feat. 메모리 관리) (1) 2024.12.06 객체지향 프로그래밍이 뭔가요? (0) 2024.12.05 깃. 깃허브. 기초개념 잡아드림 (0) 2024.12.05 기본 개발용어 알아보기 (1) 2024.12.05 다음글이 없습니다.이전글이 없습니다.댓글