C#에서 새로운 스레드를 생성하는 방법은 매우 간단합니다. Thread.CurrentThread 속성을 사용해 현재 실행 중인 스레드에 접근한 뒤, 원하는 이름을 지정할 수 있습니다.
새 스레드 생성하기
Thread thread = Thread.CurrentThread; thread.Name = "My new Thread";
스레드의 이름이 설정되었다면, 이제 현재 스레드가 실행 중인 컨텍스트의 ID를 확인할 차례입니다. 이때 사용하는 것이 바로 ContextID 속성입니다.
현재 컨텍스트 ID 가져오기
Thread.CurrentContext.ContextID
컨텍스트(Context)란 .NET 런타임에서 객체들이 거주하는 논리적인 경계를 의미하며, ContextID는 해당 컨텍스트를 고유하게 식별하는 값입니다. 일반적인 단일 컨텍스트 환경에서는 대부분 0이 반환됩니다.
전체 코드 예제를 통해 실제 동작을 살펴보겠습니다.
예제 코드
using System;
using System.Threading;
namespace Demo {
class MyClass {
static void Main(string[] args) {
Thread thread = Thread.CurrentThread;
thread.Name = "My new Thread";
Console.WriteLine("Thread Name = {0}", thread.Name);
Console.WriteLine("current Context id: {0}", Thread.CurrentContext.ContextID);
Console.ReadKey();
}
}
}실행 결과
Thread Name = My new Thread current Context id: 0
위 코드에서 먼저 현재 스레드의 이름을 "My new Thread"로 설정한 후 출력하고, 이어서 Thread.CurrentContext.ContextID를 통해 현재 컨텍스트 ID를 화면에 표시합니다. 실행 결과를 보면 스레드 이름은 정상적으로 출력되었고, 컨텍스트 ID는 기본값인 0이 반환된 것을 확인할 수 있습니다.