Invoke其余的用法

1、先看以下截图
在这里插入图片描述

在这里插入图片描述
Delegate的Invoke、BeginInvoke
1、Delegate.Invoke (委托同步调用)

a、委托的Invoke方法,在当前线程中执行委托。

b、委托执行时阻塞当前线程,知道委托执行完毕,当前线程才继续向下执行。

c、委托的Invoke方法,类似方法的常规调用。

2、Delegate.BeginInvoke (委托异步调用)

a、委托的BeginInvoke方法,在线程池分配的子线程中执行委托

b、委托执行时不会阻塞主线程(调用委托的BeginInvoke线程),主线程继续向下执行。

c、委托执行时会阻塞子线程。

d、委托结束时,如果有返回值,子线程讲返回值传递给主线程;如果有回调函数,子线程将继续执行回调函数。

MethodBase.Invoke
命名空间:
System.Reflection
重载方法有:
Invoke(Object, Object[]) 使用指定参数调用由当前实例表示的方法或构造函数
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

猜你喜欢

转载自blog.csdn.net/weixin_44007644/article/details/86750000
今日推荐