Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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中线程化多个WebBrowser_Vb.net_Multithreading_Browser_Ctrl - Fatal编程技术网

在VB.net中线程化多个WebBrowser

在VB.net中线程化多个WebBrowser,vb.net,multithreading,browser,ctrl,Vb.net,Multithreading,Browser,Ctrl,我正在选项卡中构建多个webbrowser(每个选项卡中有一个预定义的webbrowser控件),我希望它们都同时加载,否则其他单词必须在线程中运行。不幸的是,我觉得错误消息中有一个合理的事实,这是不可能的。请帮我检查下面的简单程序代码及其错误,以防我尝试释放2个webbrowser控件,但当我将其留给单个web浏览器控件时,它工作正常。有解决办法吗 Imports System.Threading Public Class Form1 Dim mythread1 As Thread Dim

我正在选项卡中构建多个webbrowser(每个选项卡中有一个预定义的webbrowser控件),我希望它们都同时加载,否则其他单词必须在线程中运行。不幸的是,我觉得错误消息中有一个合理的事实,这是不可能的。请帮我检查下面的简单程序代码及其错误,以防我尝试释放2个webbrowser控件,但当我将其留给单个web浏览器控件时,它工作正常。有解决办法吗

Imports System.Threading

Public Class Form1
Dim mythread1 As Thread
Dim mythread2 As Thread

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mythread1 = New Thread(AddressOf mysub1)
mythread2 = New Thread(AddressOf mysub2)
mythread1.IsBackground = True
mythread2.IsBackground = True
mythread1.Start()
mythread2.Start()
End Sub

Public Sub mysub1()
Dim HTML As String
WebBrowser1.Navigate("about:blank")
mythread1.Abort()
End Sub
Public Sub mysub2()
WebBrowser2.Navigate("about:blank")
mythread2.Abort()
End Sub
在msdn文章之后:“一个控件上有四个线程安全的方法可以调用:Invoke、BeginInvoke、EndInvoke和CreateGraphics以及InvokeRequired属性”

无法直接调用WebBrowser1。请从其他线程导航


Follow

默认情况下,WebBrowser是异步的,因此您不需要对它们执行线程,因为它们将按顺序运行

如果是速度问题,那么可能会切换到webclient或httpwebrequest。您无需下载图像即可运行,并且可以多线程运行这些图像