
正文
线程池委托vb.net 线程池提交任务
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.NET中的多线程和委托是什么关系? 能不能给我一个通俗易懂的范例,谢谢
委托线程池委托vb.net,Delegate
就是让线程池委托vb.net你处于这个线程里时,委托另一个线程去执行一些动作
我简单举一个写richtextbox线程池委托vb.net的例子:
////////////////////////////////////////////
'创建一个名为 MySubDelegate 的委托。
Delegate Sub MySubDelegate(ByVal txt As String)
'写信息到富文本主窗口
Private Sub txtW(ByVal txt As String)
Dim msgd As New MySubDelegate(AddressOf Me.txtW1)
Dim arg(0) As Object
arg(0) = txt
Me.Invoke(msgd, arg)
End Sub
'委托指向
Private Sub txtW1(ByVal txt As String)
Me.RichTextBox1.AppendText(txt)
End Sub
/////////////////////
这样,你在多线程应用时,在其他线程里用txtW(str)来写richtextbox,就不会产生错误了。不然,直接垮线程写richtextbox,可能会出现和UI线程的冲突。
相关问答
Q1: 多线程 线程池 VB.NET
这个没法做到。原因
1)当你将方法排入线程池队列后,此方法在有线程池线程变得可用时执行。
2)线程池中某个线程的可用与不可用,是由.net 后台决定,用户程序无法控制的
3)正如你观察到的:线程启动的时间不同,有快有慢,这恰恰说明线程池起作用了:线程池的调度试图让程序响应达到最佳。
Q2: 关于vb.net 多线程和委托问题
Delegate Sub MySubDelegate(form As Form1)
Class class1
Sub Sub1(form As Form1)
form.Timer1.Enabled = True
form.Label1.Visible = True
MsgBox("kkk")
End Sub
End Class
Private Sub DelegateTest()
Dim c1 As New class1
Dim msd As MySubDelegate = AddressOf c1.Sub1
Me.Invoke(msd,Me)
End Sub
Q3: 关于VB.NET中多线程和委托界面假死无响应的问题
并没有看出什么地方可能导致程序假死,这排版也太乱线程池委托vb.net了.不妨调试一下程序,当出现线程池委托vb.net你说线程池委托vb.net的"假死"后暂停一下程序,看看线程都卡在哪里.
另外,从设计上来看,线程池委托vb.net你这里并不需要多线程操作.
关于线程池委托vb.net和线程池提交任务的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






