1
1
我不认为你真的开始
线。
如果需要新线程,可以使用 Thread
注意,如果您使用如上所述的线程类,并且使用GUI,则需要向GUI线程附加一个方法来更新它。您可以使用Control.Invoke调用
|
2
0
首先,有 ThreadPool 如果您愿意,类可用于线程。这是我通常用来触发新线程的方法,例如。,
您可以检查是否需要调用,但是通常很容易知道该函数是否将在UI线程中使用并进行适当的调用。作为一般经验法则,除非您的函数是由于窗体上发生的事情(例如,单击按钮)而运行的,否则您将需要使用Invoke函数。 |
3
0
艾莉亚
如果您的方法寿命很短并且需要回调,则异步委托方法非常有用。否则,对于长时间运行的进程,您可能需要创建并启动一个新线程。
对于Dispatcher,这是一个WPF类,它将WPF应用程序中要由UI线程处理的操作排队(除其他外)。从代码来看,您似乎正在编写Winforms应用程序,因此这种类型不合适。 最后,为了更新文本框,需要检查是否试图在创建控件的同一线程(UI线程)上访问该控件。这是通过control.invokerequired和control.invoke完成的。具体如下:
|
4
0
different 你能走的路。如果有一个要在不阻塞UI线程的情况下执行的任务,可以使用 BackgroundWorker . 这将为您提供一种非常简单的方法来保持UI的快速性,并且它使更新UI变得容易,而不需要调用等。 如果你要完成很多任务,你可能应该使用 ThreadPool . 如果您需要为线程分配优先级,或者它们将花费大量时间阻塞,那么您应该创建自己的实例线程。 当然,您可以继续使用线程池的方式来做事情,但是还有其他方法可以更好地满足您的特定需求。 |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
AJA SMBAT · 我在获取列表而不是绑定方法时遇到问题 2 年前 |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
Rocket Procd · 获取活动类实例的数量 2 年前 |
cred · 为什么我请求的变量在从另一个类调用时显示为0.0? 2 年前 |
Oliver Guy · 一个类的所有实例共享相同的值 2 年前 |