- Thread 2개를 사용하게 될 때, 각 Thread 별 가지고 있는 변수가 있다.
- 아래 코드는 Thread끼리 변수의 값을 공유하는지 확인하는 테스트이다.
using System;
using System.Threading;
namespace Sample_TEST
{
class ThreadTestProgram
{
public static void Main(string[] args)
{
Thread thread = new Thread(() => Run(0));
// 1번째 Thread 실행
thread.Start();
// 5초 지연 시킨다.
Thread.Sleep(5000);
// 2번째 Thread 실행
Run(1);
}
public static void Run(int idx)
{
// Thread 별 Run() 을 시작한 시간.
DateTime beginTime = DateTime.Now;
DateTime EndTime;
Console.WriteLine(string.Format("Run {0} Start", idx));
for (int i = 0; i < 100; i++)
{
Thread.Sleep(1000);
EndTime = DateTime.Now;
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId} _ begin : {beginTime} , End : {EndTime}", string.Format("Run {0} :: {1}", idx, i));
}
Console.WriteLine(string.Format("Run {0} End", idx));
}
}
}
출력 결과
'프로그래밍 > C#' 카테고리의 다른 글
[C#] LINQ 연습하기 (0) | 2022.03.27 |
---|---|
[C#] 문자열 거꾸로 변환하기 (0) | 2022.03.27 |
[C#] LINQ 이용하여 리스트 2개 비교 (0) | 2022.03.22 |
[C#] int형 변수를 시,분,초 구분하여 string형 변수로 변환하기 (0) | 2022.03.05 |
[C#] CSV 파일 생성 및 쓰기 (0) | 2021.12.01 |