스레드를 사용하는 2가지 방법
Programming/C# / 2010. 10. 14. 16:41
프로세스와 스레드에 대한 개념은 어떤 프로그래밍 언어라 하더라두 공통으로 적용이 되는 부분입니다. C#에서 스레드를 사용하는 방식은 파라미터(Parameter)가 있냐 없냐에 따라서 달라집니다.
파라미터(Parameter)가 없는 경우
파라미터(Parameter)가 있는 경우
파라미터가 있는 경우도 크게 어렵지는 않습니다만 Thread 객체를 정의할때, 조금 달라집니다. ThreadStart 대신에 ParameterizedThreadStart를 사용해서 Thread 객체와 동작시킬 파라미터가 있는 함수를 연결시킵니다.
Thread th = new Thread(new ParameterizedThreadStart(test));
th.Start("Hello World");
public void test(string s)
{
...
}
위의 소스코드에서 보는것 처럼, 자신이 전달 하려는 파라미터 값에 대해서는 Start() 함수를 통해서 전달할 수가 있습니다. Start() 함수는 Overload되어있기 때문에 파라미터가 없이 Start()를 할수도 있지만, object 으로 파라미터를 전달해 주기도 합니다.
참고로 .NET 1.1 Version 에서는 파라미터가 있는 경우에 대해서는 스레드의 지원이 안되었다고 합니다. 참고하세요^^
반응형
'Programming > C#' 카테고리의 다른 글
[GameDev] KGC 2008 - C#을 사용한 빠른 툴 개발 (0) | 2010.10.21 |
---|---|
C#에서 C함수 사용하기 (0) | 2010.10.20 |
재귀함수 호출로 트리뷰 구성 (0) | 2010.10.13 |
string이 null인지 빈 문자열인지 판단 (0) | 2010.10.07 |
Tree Control 의 선택된 노드의 강조 표시 - HideSelection (0) | 2010.10.04 |