Vb.net 学员如何解决跨线程问题?
我知道你不能从后台线程调用GUI更新函数,但是我不知道如何创建一个委托,将GUI更新函数分配给它,然后调用它来解决这个问题。这与调用GUI更新函数本身有什么不同?创建函数指针委托如何解决此问题?委托不能解决此问题,Control.BeginInvoke或Dispatcher.BeginInvoke方法可以解决此问题。只有他们知道如何在特定的其他线程上正确运行代码,这是UI线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法 这些方法需要一个作为参数传递的委托对象。以便他们知道需要在UI线程上运行哪些特定代码。委托无法解决此问题,Control.BeginInvoke或Dispatcher.BeginInvoke方法可以解决此问题。只有他们知道如何在特定的其他线程上正确运行代码,这是UI线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法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线程使用的消息循环(又称分派器循环)提供的一项功能。这样的循环是解决问题的常见方法 这些方法需要一个作为参数传递的委托对象。以
这些方法需要一个作为参数传递的委托对象。以便他们知道需要在UI线程上运行哪些特定代码。for Control.Invoke详细讨论了这一点。这可能是您最好的解释地方。@MikeCorcoran阅读了它,但仍然不理解它是如何解决跨线程问题的。for Control.Invoke详细介绍了这一点。这可能是你最好的解释地方。@MikeCorcoran读了它,但仍然不明白它是如何解决跨线程问题的。