
스레드의 동작 원리 멀티스레드, 싱글스레드라고 부르며 작업을 동시에 처리하는 기술이라고만 알고 있는 스레드에 대해 조금 더 알아보자. 우선 단일 코어 CPU가 달린 컴퓨터가 있다고 생각하자. 이런 환경에서 프로세스나 여러 스레드가 동시에 실행될 수 있을까? 만약 A 작업과 B 작업을 동시에 진행시킨다면 어떻게 처리할까. 우선 사람이라면 보통 작업의 순서가 정해져있지 않는 이상 하나의 작업을 완료하고 다른 작업을 진행할 것이다. 하지만 우리가 다루는 컴퓨터는 사람과 동일하게 생각하지 않는다. 컴퓨터는 하나의 작업을 하면서 여유가 생기는 찰나의 순간 다른 작업을 진행하려 한다. 즉, 여러 프로세스와 스레드들을 동시에 실행하는 운영체제는 일정 시간마다 번갈아가며 스레드들을 실행한다. 이렇게 스레드를 변경하며 ..

컴퓨터에서 일어나는 작업들 프로그램(program)은 컴퓨터에서 실행되는 명령어들의 모음이며 코드(code)와 데이터(data)로 구성되어 있다. 이러한 프로그램을 실행시키면 프로그램 안의 명령어들이 한 줄씩 실행되며 활동을하고 이를 프로세스(process)라고 한다. 프로그램은 보조 기억 장치에 저장되고 프로세스는 RAM 메모리에 할당된다. 하여 프로그램은 코드와 데이터를 프로세스 메모리로 로딩하여 불러들이기 위해 드라이브에서 메모리로 데이터를 불러들여 힙(heap)과 스택(stack) 메모리 공간에 할당한다. 프로그램은 여러 개가 동시에 실행할 수 있고 이를 멀티프로세싱(Multi-Processing)이라고 한다. 스레드 (Thread) 각 프로세스는 시스템의 종류, 프로세스의 특징에 따라 OS가 할..
- Total
- Today
- Yesterday
- 할당
- 스레드
- CPU
- static_cast
- 초기화
- 레지스터
- 멀티스레드
- 크기
- 알고리즘
- 메모리
- 수학
- dynamic_cast
- 프로세스
- 구조
- 함수
- 입출력
- const
- New
- thread
- 컴파일
- 인터럽트
- 상속
- 백준
- malloc
- c++
- 포인터
- 명령어
- 운영체제
- 게임수학
- 클래스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |