일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- input system
- meta
- 길건너 친구들
- 포트폴리오
- 유니티
- CGV
- 오브젝트 풀링
- 개발일지
- 개발
- 팀프로젝트
- 연습
- Photon Fusion
- XR
- Oculus
- 모작
- OVR
- 드래곤 플라이트
- 드래곤 플라이트 모작
- 멀티플레이
- 유니티 UI
- meta xr
- 유니티 GUI
- 유니티 Json 데이터 연동
- HAPTIC
- 앱 배포
- 오큘러스
- ChatGPT
- VR
- 팀 프로젝트
- 가상현실
- Today
- Total
EasyCastleUNITY
[과제] 프로세스(Process), 스레드 (Thread), 코루틴 ( coroutine ) 본문
프로세스(Process)
컴퓨터에서 실행중인 프로그램을 의미한다.
따라서 실행되고 있는 프로그램들은 전부 프로세스라고 할 수 있다.
프로세스의 상태는 5가지로 분류되며 아래와 같다.
1. 생성: 프로세스가 생성
2. 실행: 프로세스가 CPU를 차지하여 명령어들이 실행되고 있음
3. 준비: 프로세스가 cpu를 사용하고 있지는 않지만, 언제든지 사용 가능한 상태
cpu가 할당되기를 기다리고 있다.
4. 대기: 보류라고 부르기도 한다. 프로세스가 어떠한 사건을 기다리고 있는 상태
5. 종료: 프로세스 실행 종료
스레드 (Thread)
위에서 설명한 프로세스보다 더 작은 실행 흐름의 최소 단위이다.
프로세스 내에서 실제로 작업을 수행하는 주체이다.
프로세스와 스레드
프로세스와 스레드에 대해 비교해서 설명해보자면
프로세스는 일을 처리하는 은행, 스레드는 그 은행안의 실질적인 일처리를 하는 창구라고 할 수 있다.
즉 프로세스는 그 일을 하는 주체적인 기관을 말하고, 스레드는 그 기관안에서 실질적으로 일을 처리하는 것이라고 이해했다.
스레드와 프로세스를 여러개 사용하는 멀티스레드와 멀티프로세스가 있다.
내가 이해한 멀티스레드와 멀티프로세스는
일을 처리하는 사람이 있다고 가정을 해보면,
멀티 스레드는 이 사람의 처리 능력을 올리기 위해 팔을 여러개 많드는 것이라고 할 수 있고,
멀티 프로세스는 이 일을 처리하는 사람을 더 많이 늘려 일의 능률을 올리는 방식이라고 이해했다.
프로세스는 한 가지가 종료되도 다른 프로세스에는 웬만하면 영향을 미치지 않는다.
스레드는 한가지만 해도 비정상적으로 종료되도 같은 프로세스 내의 스레드는 모두 종료된다.
코루틴( coroutine )
많이 사용하는 코루틴은, 쉽게 말해서 필요에 따라서 일시 정지할 수 있는 함수를 말한다.
이 방법을 통해 입출력 처리를 극대화하는 것이 가능하게 되었다.
자세한 설명은 다음 포스트에서 설명을 하겠다.
'개인 필기' 카테고리의 다른 글
유니티 라이프 사이클 (0) | 2023.08.16 |
---|---|
[과제] 스레드와 코루틴 (0) | 2023.08.15 |
[과제] 동기와 비동기 (0) | 2023.08.14 |
Unity Animation (0) | 2023.08.02 |
Unity Rigidbody | Collider | AddForce (0) | 2023.08.02 |