我在循环内的不同类中反复调用不同的方法(子例程)。例如,实例化如下:
Dim parameters(3) As Double = {0, ..., ..., ...}
For i = 1 to 5
Dim c1 as New Class1(parameters) '-->change these to threads?
Dim c2 as New Class2(parameters)
Dim c3 as New Class3(parameters)
Dim c4 as New Class4(parameters)
Dim c5 as New Class4(parameters)
Next i
'In each class I am using:
Public Class Class1
Private classparameters(3) as Double
Sub New(classparameters)
Dim param_obj(3) as New Object
param_obj(0)=classparameter(1)
param_obj(1)=classparameter(2)
param_obj(2)=classparameter(3)
Dim t As New Thread(AddressOf Method1)
t.TrySetApartmentState(ApartmentState.STA)
t.Start(param_obj)
End Sub
Sub Method1(param_obj)
classparameter(1)=param_obj(0)
classparameter(2)=param_obj(1)
classparameter(3)=param_obj(2)
'...do the math here
End Sub
End Class
但是,我想考虑在循环内创建线程,而不是实例化对象(类)并将每个类中的方法作为线程运行。我认为如果循环中的类实例化被更改为调用类的线程,则可以快速处理整个循环 - 然后等待所有线程完成。 (fyi,没有任何工作是顺序的,因此可以解析出来)。
有没有更有效的方法来组织这个?