请问关于VB .NET 2005的线程问题
想问一个问题,我有一个module1.func1,是需要传入参数的模块。在form1里,按button1能够触发module1.func1,但这个模块运行需要一点时间。为...
想问一个问题,我有一个module1.func1,是需要传入参数的模块。
在form1里,按button1能够触发module1.func1,但这个模块运行需要一点时间。为了防止主程序卡着假死,需要新建一个线程把module1.func1运行。请问我该怎么写代码来
1. 新建一个线程?
2. 运行这个带参数的function?
补充一下,是VB 2005, WINFORM。谢谢
谢谢,再请问yourblueleaf,我的func1是有多个参数要传进去的,该怎么写传参呢? 展开
在form1里,按button1能够触发module1.func1,但这个模块运行需要一点时间。为了防止主程序卡着假死,需要新建一个线程把module1.func1运行。请问我该怎么写代码来
1. 新建一个线程?
2. 运行这个带参数的function?
补充一下,是VB 2005, WINFORM。谢谢
谢谢,再请问yourblueleaf,我的func1是有多个参数要传进去的,该怎么写传参呢? 展开
1个回答
展开全部
VB的问题怎么问到这里来了?
Dim LeafThread As System.Threading.Thread
Dim LeafDelegate As System.Threading.ParameterizedThreadStart
LeafDelegate = New System.Threading.ParameterizedThreadStart(AddressOf module1.func1)
LeafThread = New System.Threading.Thread(LeafDelegate)
LeafThread.Start()
直接使用线程调用一个过程不能加多参数
只能指定一个参数
指定参数其实也很简单
就是把最后一句
LeafThread.Start()
修改为
LeafThread.Start(参数)
你如果要调用多个参数是不行的
但是我的一般做法就是你先运行线程以后
再在线程的过程里调用多参数的过程
比如
Dim LeafThread As System.Threading.Thread
Dim LeafDelegate As System.Threading.ParameterizedThreadStart
LeafDelegate = New System.Threading.ParameterizedThreadStart(AddressOf module1.func1)
LeafThread = New System.Threading.Thread(LeafDelegate)
LeafThread.Start()
sub func1()
func2(a,b,c)
end sub
sub func2(byval a,byval b,byval c)
end sub
只能这样来实现
Dim LeafThread As System.Threading.Thread
Dim LeafDelegate As System.Threading.ParameterizedThreadStart
LeafDelegate = New System.Threading.ParameterizedThreadStart(AddressOf module1.func1)
LeafThread = New System.Threading.Thread(LeafDelegate)
LeafThread.Start()
直接使用线程调用一个过程不能加多参数
只能指定一个参数
指定参数其实也很简单
就是把最后一句
LeafThread.Start()
修改为
LeafThread.Start(参数)
你如果要调用多个参数是不行的
但是我的一般做法就是你先运行线程以后
再在线程的过程里调用多参数的过程
比如
Dim LeafThread As System.Threading.Thread
Dim LeafDelegate As System.Threading.ParameterizedThreadStart
LeafDelegate = New System.Threading.ParameterizedThreadStart(AddressOf module1.func1)
LeafThread = New System.Threading.Thread(LeafDelegate)
LeafThread.Start()
sub func1()
func2(a,b,c)
end sub
sub func2(byval a,byval b,byval c)
end sub
只能这样来实现
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询