Je suis nouveau dans le concept de threading dans VB .NET et j'en ai deux imbriqués pour chaque boucle et je veux un nouveau thread à chaque fois que la boucle est exécutée. Ce que je fais ici, c'est que j'appelle une fonction encore et encore avec des paramètres différents à l'aide de deux boucles imbriquées. Et ce que je veux, c'est chaque fois que j'appelle cette fonction qui s'exécute comme un nouveau fil.thread multiple dans une boucle imbriquée dans vb
Voici mon code -
Dim threadCount As Integer = 1
Dim theradArray(100) As System.Threading.Thread
Dim copyProcessID As Integer = 0
For Each dest_path As String In destList
If Directory.Exists(dest_path) Then
'copy process
Dim copyProcessOBJ As copy
For index = 0 To sourceList.Count - 1
source = sourceList(index)
If source.isChecked = True Then
copyProcessID += 1
If cliRadioButton.Checked Then
cmdCopy(source.Path, dest_path)
Else
ProgressReports.Show()
copyProcessOBJ = New copy
threadCount += 1
theradArray(threadCount) = New _System.Threading.Thread(AddressOf copyProcessOBJ.guiCopy)
theradArray(threadCount).Start()
copyProcessOBJ.guiCopy(source.Path, dest_path, copyProcessID)
End If
End If
Next
Ici, j'ai une classe nommée copie et un sous « guiCopy » intérieur de ce que je fais nouvelle instance de obj à chaque fois dans la boucle. De même que je veux un nouveau fil.
Mais j'ai un problème qui dit initialise une nouvelle instance de la classe Thread. Je suis désolé, je sais que c'est de ma faute si je ne sais pas comment l'implémenter.
juste besoin d'aide pour
s'il vous plaît inclure le message complet d'exception. Aussi, que fait réellement la méthode copy.guiCopy? Combien de threads démarrez-vous, parce que je suis sûr que c'est un mauvais design, et votre problème pourrait être résolu d'une manière beaucoup plus simple, probablement des tâches d'utilisation ou une boucle parallel.for – Steve