일반적인 스레드 사용시에는 아래와 같이 사용했는데요
Thread t1 = new Thread(new ThreadStart(GoGo1)); t1.Start(); Thread t2 = new Thread(new ThreadStart(GoGo2)); t2.Start();
그런데 변수를 넘겨야하는데 어떻게 해야할지..고민하고 또 고민하고 찾아서 정리해보니 아래와 같습니다.
전역변수! 사용! or 클래스 사용!
delegate void RunDelegate(string msg); public void WorkerThreadMethod(string msg) { txtLog.AppendText(Environment.NewLine + Environment.NewLine + msg); } private void fnShowMsg(string msg) { string sendMsg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").ToString() + " : " + msg; RunDelegate runDelegate = new RunDelegate(this.WorkerThreadMethod); runDelegate.BeginInvoke(sendMsg, null, null); txtLog.ScrollToCaret(); } fnShowMsg("Start - xxx ...");
참고 사이트 : http://blog.daum.net/starkcb/70