2012. 1. 17. 02:54
using System;
using System.Threading;
namespace VTFramework.ThreadEx
{
/// <summary>
/// vS_Thread에 대한 요약 설명입니다.
///
/// 쓰레드에 인수를 넘기는 방법.
///
/// - Example
/// string strMsgInfo = "전달 값";
/// Thread td = vCS_ThreadEx.CreateThread(new vCS_ThreadEx.dg_ThreadProc(ThreadProc),strMsgInfo);
/// td.Start();
///
/// private void ThreadProc(object[] p)
/// {}
/// </summary>
public class vCS_ThreadEx
{
public vCS_ThreadEx()
{
//
// TODO: 여기에 생성자 논리를 추가합니다.
//
}
public delegate void dg_ThreadProc(object[] o);
private class ParamProc
{
public object[] param;
public dg_ThreadProc proc;
public void work()
{
proc(param);
}
public void work(object objValue)
{
proc(param);
}
}
public static Thread CreateThread(dg_ThreadProc proc, params object[] arg)
{
ParamProc pp = new ParamProc();
pp.param = arg;
pp.proc = proc;
Thread t = new Thread(new ThreadStart(pp.work));
return t;
}
}
}
'강좌 > C#' 카테고리의 다른 글
인터페이스를 상속한 자신을 파라미터로 호출한 경우. (0) | 2012.01.17 |
---|---|
Interface 변수 상속한 하위 클래스 함수 호출. (0) | 2012.01.17 |
Cross-thread operation not valid (0) | 2012.01.17 |
Delegate (0) | 2012.01.17 |
Hashtable, HashSet<T>, Dictionary<TKey, TValue> (0) | 2012.01.16 |