[Thread]쓰레드 기본 코드
쓰레드를 처음 쓰는 분들을 위한 예제 코드 입니다.
참조만 하세요..ㅎㅎ..
using System.Threading;
//---------------------------------------------------------------------------------------
public class Worker
{
private volatile bool _shouldStop;
public void DoWork()
{
while (!_shouldStop)
{
Console.WriteLine("worker thread: start..." + DateTime.Now.ToString());
try
{
if (_shouldStop == true) break;
//여기에 내가 돌리고 싶은 코드를 ~~~
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Thread.Sleep(1000);
}
Console.WriteLine("worker thread: terminating gracefully.");
_shouldStop = false;
}
public void RequestStop()
{
_shouldStop = true;
}
}
//---------------------------------------------------------------------------------------
private Worker worker = new Worker();
private Thread workerThread;
private void button1_Click(object sender, EventArgs e)
{
workerThread = new Thread(worker.DoWork);
workerThread.Start();
Console.WriteLine("Split Thread: Starting worker thread...");
}
private void button2_Click(object sender, EventArgs e)
{
try
{
worker.RequestStop();
workerThread.Join();
}
catch (Exception ex)
{
System.Console.WriteLine(ex.ToString());
}
}