싱글스레드(Single Thread)
기본 개념
싱글스레드는 하나의 실행 흐름만 가지고 있는 방식을 말합니다. 프로그램은 여러 프로세스(Process)로 이루어질 수 있고, 프로세스 안에는 실제 작업을 실행하는 스레드(Thread)가 있습니다.
👉 싱글스레드 프로그램은 말 그대로 스레드가 하나만 있는 프로그램이에요. 즉, 한 번에 하나의 작업만 순차적으로 처리할 수 있죠.
싱글스레드의 특징
작업을 순서대로 처리
한 작업이 끝나야 다음 작업을 시작할 수 있습니다.
구현이 단순함
코드 작성이 쉽고, 여러 스레드가 동시에 데이터에 접근할 때 생기는 충돌인 동기화 문제가 발생하지 않습니다.
동시성 부족
동시에 여러 작업을 처리하는 멀티스레드에 비해 효율이 떨어질 수 있습니다.
싱글스레드 예시
자바스크립트(JavaScript) 런타임
→ 자바스크립트는 기본적으로 싱글스레드 언어로, 브라우저에서 코드를 순서대로 실행합니다.
단순 계산 프로그램
→ 예를 들어, 계산기 앱처럼 입력 → 처리 → 출력 순으로만 실행됩니다.
싱글스레드 vs 멀티스레드
구분
싱글스레드
멀티스레드
실행 흐름
하나
여러 개
속도
작업이 많으면 느려짐
동시에 처리 가능
구현 난이도
쉬움
어렵고 동기화 문제 발생 가능
예시
자바스크립트 기본 실행 방식
자바, C++, Python 멀티스레드 프로그램
정리하면
싱글스레드는 프로그램이 "한 줄씩 차례대로" 실행되는 구조입니다. 구현은 단순하지만, 동시에 여러 작업을 잘 처리하기는 어렵습니다.
Tags:
CPU싱글쓰레드
.png)
.png)
.png)
.png)