반응형
인프런 - Rookies님의 강의
https://www.inflearn.com/course/%EC%9C%A0%EB%8B%88%ED%8B%B0-mmorpg-%EA%B0%9C%EB%B0%9C-part4
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 - 인프런 | 강의
네트워크/멀티쓰레드/운영체제 등 핵심 전공 지식을 공부하고 게임 서버를 바닥부터 만들어보면서 MMORPG 기술을 학습하는 강의입니다., MMORPG 개발에 필요한 모든 기술, C# + Unity로 Step By Step! 🕹
www.inflearn.com
쓰레드란?
- 프로세스 내에서 실제로 작업을 수행하는 주체.
- 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다.
- 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)한다.
- 식당의 종업원이라고 생각하면 됨
Thread의 생성과 사용법
기본적인 생성과 시작
Thread t = new Thread("처리할 함수");
t.Start();
Background, Foreground 쓰레드
t.isBackground
- bool 타입
- C#에서는 Thread를 생성하면 foreground Thread로 만들어지게 됨
if(isBackground == true) -> (background Thread)
- Main함수가 종료되면 종료
if(isBackground == false) -> (foreground Thread)
- Main함수가 종료되어도 계속 실행
대기
t.Join();
- Main함수에서 Join() 뒤의 일들을 Thread에 할당된 일이 끝날 때 까지 보류
ex)
t.IsBackground = true;
t.Start();
Console.WriteLine("Waiting for Thread");
t.Join();
Console.WriteLine("Main Complete!");
-> 즉, Waiting for Thread -> Thread 처리 -> Thread 종료 -> Main Complete! -> Main 종료
반응형
'C# > C# 서버' 카테고리의 다른 글
[C#/서버] AutoResetEvent / ManualResetEvent (0) | 2023.08.20 |
---|---|
[C#/서버] SpinLock (0) | 2023.08.18 |
[C#/서버] 메모리 배리어 (0) | 2023.08.16 |
[C#/서버] 캐시 이론 (0) | 2023.08.16 |
[C#/서버] 쓰레드 풀 (ThreadPool) (0) | 2023.08.16 |