다른클래스에 있는 메서드를 쓰레드로 호출
class Helper
{
public void Run()
{
Console.WriteLine("Helper.Run");
}
}
class Program
{
static void Main(string[] args)
{
// Helper클래스의 Run메서드 호출
Helper obj = new Helper();
Thread t = new Thread(obj.Run);
t.Start();
}
}
쓰레드 생성의 다양한 방법
class Program
{
static void Main(string[] args)
{
// Run 메서드를 입력받아
// ThreadStart 델리게이트 타입 객체를 생성한 후
// Thread 클래스 생성자에 전달
Thread t1 = new Thread(new ThreadStart(Run));
t1.Start();
// 컴파일러가 Run() 메서드의 함수 프로토타입으로부터
// ThreadStart Delegate객체를 추론하여 생성함
Thread t2 = new Thread(Run);
t2.Start();
// 익명메서드(Anonymous Method)를 사용하여
// 쓰레드 생성
Thread t3 = new Thread(delegate()
{
Run();
});
t3.Start();
// 람다식 (Lambda Expression)을 사용하여
// 쓰레드 생성
Thread t4 = new Thread(() => Run());
t4.Start();
// 간략한 표현
new Thread(() => Run()).Start();
}
static void Run()
{
Console.WriteLine("Run");
}
}
'지식공유 > C#' 카테고리의 다른 글
[C#]같은 이벤트를 사용하는 경우 어디서 호출된건지 확인하는 방법 (0) | 2018.09.30 |
---|---|
[C#]태그를 이용하여 버튼클릭시 이벤트처리하는 방법 (0) | 2018.09.30 |
[C#]딕셔너리 value에 클래스형식을 넣고 값 호출해보기 (0) | 2018.09.30 |
[C#] 딕셔너리 기초예제 (0) | 2018.09.21 |
[WPF] WINDOW창 스타일이 NONE일 때 창 움직이는(Drag) 방법 (0) | 2018.09.21 |
최근댓글