스레드(thread)란 순차 프로그램과 유사하게 시작, 실행 그리고 종료의 순서를 가진 제어의 흐름(flow of execution)이다. 또한 멀티스레드(multithread) 시스템이란 이와 같은 스레드가 하나의 프로그램 내에 여러 개 존재할 수 있는 시스템이다. C#은 응용 프로그램의 병행 처리를 위해 스레드 개념을 지원하고 있으며 스레드를 생성하고 실행시키고 제어하는 방법을 제공해 주고 있다.
C#에서 스레드도 델리게이트를 이용하여 처리한다. 먼저 ThreadStart 델리게이트를 통하여 스레드 몸체에 해당하는 메소드를 연결한 후 생섣왼 델리게이트 객체를 매개변수로 스레드 객체를 생성한다. 이때 C#에서 멀티스레드를 지원하기 위해 제공된 System.Threading 네임스페이스르 포함해야 한다. 스레드 객체를 생성한 후 실제로 Start() 메소드를 호출하여 스레드의 실행을 시작한다. 그러면 독립된 스레드가 작동되어 연결된 메소드를 실행하게 된다.
참고예제]
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace Chapter1
{
class ThreadApp
{
static void ThreadBody()
{
Console.WriteLine("In the thread body ...");
}
public static void Main()
{
ThreadStart ts = new ThreadStart(ThreadBody);
Thread t = new Thread(ts);
Console.WriteLine("*** Start of Main");
t.Start();
Console.WriteLine("*** End of Main");
}
}
}
참고예제 결과]
대한민국의 아름다운 영토, 독도의 가을
'프로그램 > C# 1000제' 카테고리의 다른 글
C# 2제] C# 프로그래밍 입문 CHAPTER 2. p105 2.12 (2) 식의 값을 구하시오. (0) | 2021.07.21 |
---|---|
C# 1제] C# 프로그래밍 입문 CHAPTER 2. p105 2.12 (1) 삼각형의 넓이 구하기 (0) | 2021.07.20 |
C# 예제7] C# 프로그래밍 입문 CHAPTER 1. p32 제네릭 (0) | 2021.07.18 |
C# 예제6] C# 프로그래밍 입문 CHAPTER 1. p31 이벤트 (0) | 2021.07.17 |
C# 예제5] C# 프로그래밍 입문 CHAPTER 1. p28 델리게이트 (0) | 2021.07.16 |
댓글