可以通过创建新委托将C#中的同步调用转换为异步调用,然后可以在该委托上调用 BeginInvoke 。可以在不创建委托的情况下完成相同的操作,但可以调用 ThreadPool :: QueueWorkerItem 方法。据我所知,两种方法都做同样的工作。 delegate :: BeginInvoke 只是编码,但很容易理解。这些操作是否都使用线程池在内部进行异步操作?
答案 0 :(得分:0)
在测试了一个示例应用程序后,我发现delegate :: BeginInvoke在另一个线程中调用该调用。在内部,它可能正在使用ThreadPool创建后台工作线程来完成作业,因为回调不能修改UI线程创建的控件。