新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

C#中Invoke和begininvoke如何使用,c#中invoke和begininvoke

发布时间:2024-02-21 17:53:16

C#中Invoke和begininvoke如何使用

在C#中,InvokeBeginInvoke都是用来在多线程中履行一个拜托(delegate)的方法。

Invoke方法是同步履行拜托的方法,会阻塞当前线程直到拜托履行完成。使用方式以下:

// 假定有一个拜托类型为Action的变量 action
action.Invoke();

BeginInvoke方法是异步履行拜托的方法,会在另外一个线程中履行拜托。使用方式以下:

// 假定有一个拜托类型为Action的变量 action
action.BeginInvoke(null, null);

BeginInvoke方法中,第一个参数是一个AsyncCallback类型的回调函数,用来在拜托履行完成后履行一些操作;第二个参数是一个对象,用来传递给拜托的参数。

需要注意的是,在BeginInvoke方法中传递的参数需要是object类型的,如果需要传递多个参数,可使用Tuple还是自定义一个类来封装参数。