안녕하세요.
오늘은 C# 에서 Thread 함수를 실행시키는 방법을 포스팅해보겠습니다.
먼저 Thread 를 생성하고 실행하기 이전에 Thread 의 개념에 대해서 먼저 설명하겠습니다.
: 프로세스 내에서 실행되는 단위입니다.
프로세스가 더 상위고, 하나의 프로세스 안에서 여러 개의 실행단위로 만드는 것이 Thread 입니다.
프로세스를 생성하지 않고 Thread로 생성하는 이유는 Process 로 생성을 하면,
OS 에서 프로세스 별로 메모리를 할당하기 때문에, Context Switching 이 발생합니다.
하지만, Thread는 프로세스가 할당받은 자원을 이용하는 것이 특징입니다.
Heap 메모리를 스레드끼리 공유할 수 있습니다.
시스템 자원소모를 줄일 수 있고,
시스템 콜의 사용을 줄여 CPU 사용량 측면에서 Thread 를 여러 개 생성하는 것이 좋을 때가 있습니다.
자 이론 설명은 여기까지 하고 실제 아래의 2가지 Thread 실행 예제가 있습니다.
using System.Threading;
// Thread 생성 및 시작
Thread th = new Thread(new ThreadStart(ThreadProc));
th.Start();
// Parameter가 있는 함수를 Thread 로 생성 및 시작
string param = "param";
Thread param_th = new Thread(new ParameterizedThreadStart(ThreadProc2));
param_th.Start(param);
private void ThreadProc1()
{
// 명령문;
}
private void ThreadProc2(object param)
{
string str_param = param as string; // 형 변환
// 명령문;
}
Parameter 를 넘기면서 Thread 를 시작 하시는 것도 함께 예제로 작성하였습니다.
포스팅을 여기서 마치겠습니다.
그럼 20000.
C# Base64 string, MD5 Hash string (2) | 2020.11.03 |
---|---|
C# Zlib decompress, Nuget Zlib.Portable.Signed (0) | 2020.11.02 |
C# Json String 데이터 파싱하기, Newtonsoft.Json (0) | 2020.10.29 |
C언어 문자열 파싱 함수 strtok 사용 방법과 원리(예제포함) (0) | 2020.10.27 |
C# HTTP Server, Digest HTTP Web Server, Griffin.WebServer (0) | 2020.09.17 |