gpt4 book ai didi

c# - BeginInvoke() 是否运行一个单独的线程?

转载 作者:太空狗 更新时间:2023-10-29 17:32:16 25 4
gpt4 key购买 nike

<分区>

在我的 WPF 应用程序中,我想在非 UI 线程中做一些工作,以避免 UI 变得无响应。为此,我这样做了:

var caller = new AsyncMethodCaller<Pattern>(this.SetPatternType);
caller.BeginInvoke(_patterns, null, null);

委托(delegate)定义为,

public delegate void AsyncMethodCaller<in T>(IEnumerable<T> data);

我的问题是:

BeginInvoke() 是否创建了一个新线程并且回调 SetPatternType 在其中运行?如果是这样,这个线程持续多长时间?

这种方法总体上好吗?如果不是,它有什么问题?我可能面临哪些潜在问题?

我正在使用 C# 4.0 和 Visual Studio 2010。


编辑:

我还需要一些关于这些的指南:

什么时候应该自己创建一个新线程,什么时候应该使用 BeginInvoke()?什么时候应该使用 DispatcherObject.Dispatcher.BeginInvoke() 对象?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com