Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何创建动态数量的线程?_Vb.net_Multithreading - Fatal编程技术网

Vb.net 如何创建动态数量的线程?

Vb.net 如何创建动态数量的线程?,vb.net,multithreading,Vb.net,Multithreading,目前我使用以下方法创建线程(普通方法) 然而,我希望能够做的是类似的事情(这显然不起作用,完全是伪代码) 在那里,我可以将25个线程更改为我想要的任何数量,并创建相应数量的线程。他们都将运行一个相同的潜艇,不互相打任何电话,他们不需要相互了解。这样做可能吗?如果是这样的话,找到解决办法的方向会有所帮助 提前感谢。请尝试以下方法 Public Function RunThreads(count as Integer, start As ThreadStart) As List(Of Thread)

目前我使用以下方法创建线程(普通方法)

然而,我希望能够做的是类似的事情(这显然不起作用,完全是伪代码)

在那里,我可以将25个线程更改为我想要的任何数量,并创建相应数量的线程。他们都将运行一个相同的潜艇,不互相打任何电话,他们不需要相互了解。这样做可能吗?如果是这样的话,找到解决办法的方向会有所帮助

提前感谢。

请尝试以下方法

Public Function RunThreads(count as Integer, start As ThreadStart) As List(Of Thread)
  Dim list as New List(Of Thread)
  For i = 0 to count -1 
    Dim thread = new Thread(start)
    thread.Start()
    list.Add(thread)
  Next
  Return list
End Function
或者使用线程池

Public Sub RunThreads(count as Integer, callBack as WaitCallBack) 
  For i = 0 To count-1
    ThreadPool.QueueUserWorkItem(callBack)
  Next
End Sub

不幸的是,“返回线程”上有一个错误Thread'是一种类型,不能用作表达式。已更改返回列表,现在可以按预期工作。谢谢
Public Function RunThreads(count as Integer, start As ThreadStart) As List(Of Thread)
  Dim list as New List(Of Thread)
  For i = 0 to count -1 
    Dim thread = new Thread(start)
    thread.Start()
    list.Add(thread)
  Next
  Return list
End Function
Public Sub RunThreads(count as Integer, callBack as WaitCallBack) 
  For i = 0 To count-1
    ThreadPool.QueueUserWorkItem(callBack)
  Next
End Sub