전체 소스 :
쓰레드를 만들어 1초에 1씩 증가하는 예제를 만들어 보겠습니다.
ThreadAdd() 메소드에 lock 을 사용하여 동기화를 하였습니다.
소스 :
Thread threadADD;
public FrmMain()
{
InitializeComponent();
}
public void ThreadAdd()
{
while (true)
{
lock(this)
{
txbCount.Text = (Convert.ToInt32(txbCount.Text) + 1).ToString();
Thread.Sleep(1000);
}
}
}
private void btnSTART_Click(object sender, EventArgs e)
{
// 쓰레드 생성
this.threadADD = new Thread(new ThreadStart( ThreadAdd));
this.threadADD.Start();
}
public void Stop()
{
if (null == threadADD) return;
threadADD.Abort();
}
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Stop();
}
원문 : http://whiteat.com/zbxe/37612