读书人

除去Invoke还有没有其它的主线程委托方

发布时间: 2013-03-14 10:33:15 作者: rapoo

除了Invoke还有没有其它的主线程委托方式
有如下代码:

    
public class ThreadClas
{
public void Start()
{
AutoResetEvent Are;
Are = new AutoResetEvent(false);
ThreadPool.QueueUserWorkItem(ThreadMethod, Are);
}

public delegate void ThreadEvent();

public event ThreadEvent OnThreadExecute;

private void ThreadMethod(object State)
{
AutoResetEvent Are = (AutoResetEvent)State;
OnThreadExecute();//此处执行用户自定义事件
Are.Set();
}
}

线程方法ThreadMethod当中调用了用户自定义事件OnThreadExecute,为了确保安全,我想把OnThreadExecute委托到主线程执行,但是当前类中没有定义任任何窗口控件,因此没法通过Invoke来实现,请问还有没有其它的方式
[解决办法]
MSDNSynchronizationContext使用看这里

读书人网 >C#

热点推荐