gpt4 book ai didi

c# - BeginInvoke/EndInvoke 是在主线程上调用的好习惯吗?

转载 作者:太空狗 更新时间:2023-10-30 00:21:45 25 4
gpt4 key购买 nike

以这种方式为 MainForm 线程调用委托(delegate)是一种好习惯吗?:

Txt.MainForm.EndInvoke(
Txt.MainForm.BeginInvoke(
new MethodInvoker(delegate()
{ // code here }
)));

最佳答案

否 - 因为如果您调用 EndInvoke,它将阻塞直到委托(delegate)完成。如果您想要这种行为,只需使用 Invoke 即可。

换句话说:如果你试图做一些其他的事情而不是阻塞,直到你的(大概是修改 UI 的)委托(delegate)在 UI 线程中执行,你应该解释那是什么.如果没有其他问题,Invoke 将为您提供更简单的代码。

关于c# - BeginInvoke/EndInvoke 是在主线程上调用的好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3985039/

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