内部循环中的重复对象实例化(类和线程)

时间:2015-04-03 15:02:19

标签: vb.net multithreading visual-studio-2010

我在循环内的不同类中反复调用不同的方法(子例程)。例如,实例化如下:

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,没有任何工作是顺序的,因此可以解析出来)。

有没有更有效的方法来组织这个?

0 个答案:

没有答案