
正文
包含vb.net多进程实现的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.NET 多线程简化步骤问题
过程只需要1个,线程你要多少就需要创建多少,这个可以用循环来创建:
Dim Thd(99) As Thread
For i As Integer =0 to 99
Thd(i)=New Thread(AddressOf Start)
Thd(i).Start()
Next
如果你不需要保留这些线程的引用
那个数组也可以省略掉
直接在循环中(New Thread(AddressOf Start)).Start()就行了
---------------------------------------------------------------------------
代码不是在IDE中打的,可能有细微小错误
相关问答
Q1: vb.net 循环使用多线程
ListBox操作需要用Invoke。另外多线程方式并不是并行处理。
建议采用.net framework 4 带的并行处理循环操作,若不是4.0版本的framework,可以使用Aforge的并行库比较方便。
Q2: 怎么在vb.net里用多线程缩短循环时间
多线程并不一定就可以缩短时间vb.net多进程实现,具体要看vb.net多进程实现你上面的“过程”是否调用数据库完成。如果调用vb.net多进程实现了数据库,可以考虑用存储过程替代“过程”。另外看看“过程”里是否反复打开和关闭了数据库连接,如果是,这才是真正的耗时动作。如果没调用数据库,可以考虑使用Parallel类(.net4以后)里面的函数,使多个任务在多核CPU上并行运行,缩短时间。
Q3: VB.net可以多线程控制同一个窗体及其控件吗
不可以,但是能够在主线程的基础上调用委托(Invoke)。(主线程会被占用)
例子:
Dim thr As Threading.Thread
Public Delegate Sub VoidDelegate()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
thr = New Threading.Thread(AddressOf Where)
thr.Start()
End Sub
Public Sub Where()
Me.BeginInvoke(New VoidDelegate(AddressOf WhereThr))
End Sub
Public Sub WhereThr()
Me.TextBox.text="0123456789"
End Sub
(Invoke)这种情况下,主线程被占用,所有由主线程执行程序,都将被(wherethr函数执行结束)后执行。
vb.net多进程实现的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net多进程实现的信息别忘了在本站进行查找喔。







