Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 学员如何解决跨线程问题?_Vb.net_Multithreading_User Interface_Delegates_Function Pointers - Fatal编程技术网

Vb.net 学员如何解决跨线程问题?

Vb.net 学员如何解决跨线程问题?,vb.net,multithreading,user-interface,delegates,function-pointers,Vb.net,Multithreading,User Interface,Delegates,Function Pointers,我知道你不能从后台线程调用GUI更新函数,但是我不知道如何创建一个委托,将GUI更新函数分配给它,然后调用它来解决这个问题。这与调用GUI更新函数本身有什么不同?创建函数指针委托如何解决此问题?委托不能解决此问题,Control.BeginInvoke或Dispatcher.BeginInvoke方法可以解决此问题。只有他们知道如何在特定的其他线程上正确运行代码,这是UI线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法 这些方法需要一个作为参数传递的委托对象。以

我知道你不能从后台线程调用GUI更新函数,但是我不知道如何创建一个委托,将GUI更新函数分配给它,然后调用它来解决这个问题。这与调用GUI更新函数本身有什么不同?创建函数指针委托如何解决此问题?

委托不能解决此问题,Control.BeginInvoke或Dispatcher.BeginInvoke方法可以解决此问题。只有他们知道如何在特定的其他线程上正确运行代码,这是UI线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法

这些方法需要一个作为参数传递的委托对象。以便他们知道需要在UI线程上运行哪些特定代码。

委托无法解决此问题,Control.BeginInvoke或Dispatcher.BeginInvoke方法可以解决此问题。只有他们知道如何在特定的其他线程上正确运行代码,这是UI线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法


这些方法需要一个作为参数传递的委托对象。以便他们知道需要在UI线程上运行哪些特定代码。

for Control.Invoke详细讨论了这一点。这可能是您最好的解释地方。@MikeCorcoran阅读了它,但仍然不理解它是如何解决跨线程问题的。for Control.Invoke详细介绍了这一点。这可能是你最好的解释地方。@MikeCorcoran读了它,但仍然不明白它是如何解决跨线程问题的。