반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- swfitui
- unowned
- assosiated type
- 순환참조
- weak
- environment object
- SwiftUI
- 동시성 프로그래밍
- restful api
- environment value
- git 명령어
- rest api
- 스레드 점유권
- Access Control
- navigationview
- Swift Concurrency
- REDRAW
- 앱실행
- MVVM
- Git
- async/await
- StateObject
- task 취소
- 작업 취소
- MainActor
- Swift
- actor
- ObservedObject
- NavigationLink
- 격리 시스템
Archives
- Today
- Total
Develup
[CS] 스레드(Thread)란? 본문
반응형
스레드(Thread)
어플리케이션의 실행에 있어서 가장 기본적인 단위. 실행중인 어플리케이션은 최소 하나의 스레드로 구성된다.
각 스레드마다 별도의 스택이 있으며 각 스레드는 같은 어플리케이션에 있는 다른 스레드와 독립적으로 돌아간다.
스레드 끼리는 파일 핸들이나 메모리 같은 자원을 공유한다.![]()
출처
네이티브 스레드(커널 레벨 스레트)
운영체제에서 생성하고 관리하는 스레드
녹색 스레드
운영체제 위의 소프트웨어 계층에서 구현된 스레드.
멀티코어를 활용할 수 없으며 동기 입출력을 구현하기 어렵다.
멀티코어 시스템이 주류를 이루게 되면서 녹색 스레드를 쓰지 않는 쪽으로 변함
선점형 스레딩(preemtive threading)
운영체제에서 아무때나 스레드 실행을 멈추고 다른 스레드를 실행시킬 수 있다. 때문에 운영체제 에서는 각 스레드에 조금씩 시간을 나눠주면서 여러 스레드를 돌아가며 실행시킨다.
컨텍스트 스위칭(context switching)
다른 스레드가 시작될 수 있도록 한스레드를 멈추는 것.
시스템 스레드
어플리케이션의 첫번째 스레드(메인스레드)
사용자 스레드
메인 스레드에서 할 수 없는, 혹은 하면 안되는 작업을 해야할 때 생성되는 스레드
이벤트 스레드
사용자 인터페이스를 화면에 표시하는 어플리케이션의 메인 스레드
이벤트가 일어날 때 까지 기다렸다가 그 이벤트를 어플리 케이션에서 처리 할 수있도록 전달하는 역할을 한다.
이벤트 스레드에서 이벤트를 제대로 처리하지 못하면 어플리케이션이 느려진다.
네트워크 접근 같은 작업은 스레드를 따로 만들어 처리해야 한다.
반응형
'CS > etc' 카테고리의 다른 글
| [CS] REST? REST API? RESTful? (0) | 2021.03.10 |
|---|