除了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使用看这里