Я унаследовал некоторый код ниже, который работает отлично, единственная проблема заключается в том, что я хочу ограничить количество потоков, которые запускаются в любой момент, в настоящий момент у меня есть около 8-10 заданий, которые работают параллельно, Я хочу ограничить количество потоков, возможно, 3 или 4 в любое время, возможно ли это с помощью кода ниже без слишком большого количества изменений?Ограничить количество работающих потоков?
Public Sub threading_Example()
Dim threadList As New List(Of Thread)
For n = 0 To numJobs 'about 8-10 normally
Dim new_job As New System.Threading.Thread(New System.Threading.ParameterizedThreadStart(AddressOf do_Job))
Dim job As New Job
'job.stuff = stuff
newJob.Start(job)
threadList.Add(new_job)
Next
For Each t As Thread In threadList
t.Join()
Next
End Sub
Public Sub do_Job(ByVal job As Object)
'do task
End Sub