[C# 문법] C# Thread 클래스 매개변수 전달하는 방법




안녕하세요~~

 

오늘은 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);

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과




이처럼, Sum의 값이 알맞게 출력 되는 것을 확인하실 수 있습니다.

예제코드는 크게 어려운 부분이 없어서 따로 설명을 드리지는 않도록 할게요.

 

한번, 따라해 보시면 이해 하실거라 생각합니다ㅎㅎ

 


 

글 읽어 주셔서 감사합니다ㅎㅎ


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY