[C# 문법] C# Thread 클래스 매개변수 전달하는 방법
- C#/C# 문법
- 2019. 9. 7. 01:00
안녕하세요~~
오늘은 C#에서 Thread 클래스에서 매개변수를 전달하는 방법에 대해서 알려드리고자 합니다.
평소에는 일반 매개변수 없는 메서드를 Thread로 동작을 많이 시켰었는데요! 얼마전, Thread를 사용하면서 매개변수가 있는 메서드를 실행시켜야 하는데..방법을 찾던 중 ParameterizedThreadStart 델리게이트를 이용하면 매개변수를 이용하여 Thread를 사용할 수 있어서 그 내용에 대해서 알려 드리고자 합니다.
ParameterizedThreadStart 형태
public delegate void ParameterizedThreadStart(object obj); 로 구성 되어 있습니다.
그러면 실제 예제 코드를 보면서 사용 방법을 익혀 보도록 할게요.
예제 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;
namespace _1 { class Program { static void Main(string[] args) { int number = 10;
//ParameterizedThreadStart에 파라미터 전달 //_thread.Start()의 파라미터로 number 변수 값 전달 Thread _thread = new Thread(new ParameterizedThreadStart(Sum)); _thread.Start(number); }
public static void Sum(object num) { int number = 0;
number = Convert.ToInt32(num);
int sum = number + number;
Console.WriteLine("Sum의 값은 {0} 입니다.", sum); } } }
|
실행 결과
이처럼, Sum의 값이 알맞게 출력 되는 것을 확인하실 수 있습니다.
예제코드는 크게 어려운 부분이 없어서 따로 설명을 드리지는 않도록 할게요.
한번, 따라해 보시면 이해 하실거라 생각합니다ㅎㅎ
글 읽어 주셔서 감사합니다ㅎㅎ
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] string[] 을 List로 변환하는 방법 (0) | 2019.09.11 |
---|---|
[C# 문법] C# 폴더 열기 – Process Start (0) | 2019.09.08 |
[C# 문법] C#에서 현재 사용자의 바탕화면 경로 가져오는 방법 (0) | 2019.09.05 |
[C# 에러] Substring 에러 – “System.ArgumentOutOfRangeException” 예외 처리하는 방법 (0) | 2019.08.31 |
[C# 문법] 자료구조 Stack 이란? (0) | 2019.08.30 |
이 글을 공유하기