通过三种方法之一调用方法有什么区别?

时间:2012-04-05 18:01:40

标签: .net multithreading asynchronous synchronous begininvoke

通过三种方法之一调用方法有什么区别?

  1. 通过创建新主题
  2. 通过调用同步调用
  3. 通过BeginInvoke和EndInvoke
  4. 进行异步调用

    我假设所有的电话都将使用匹配的代表。

1 个答案:

答案 0 :(得分:1)

(假设.NET给出了您的用户名......)这三个选项是使用delegate的不同方式。

创建新线程并不是专门“调用方法”,而是使用指定的委托作为在新线程中运行的方法启动新线程。这将为您启动一个完整的新线程,并在单独的线程中运行您的委托。

通过BeginInvoke / EndInvoke异步调用委托是类似的,除了它将使用ThreadPool而不是创建新线程。

通过Invoke同步调用委托将直接在当前正在执行的线程上调用委托。这实际上只调用委托引用的方法。