1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Private Sub DemarrerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DemarrerToolStripMenuItem.Click
For i = 0 To 5
Dim T As New Threading.Thread(AddressOf DoTheTask)
T.Name = "Threads#" & i.ToString
T.Start()
Next
End Sub
Sub DoTheTask()
'boucle pour modifier les critères d'analyses
Do Until QuSymbole.Count = 0
Dim Symb As String = QuSymbole.Dequeue
Dim Expression As String = "Symbole='" & Symb & "'"
Dim FoundRow() As DataRow
FoundRow = ODTEchantillon.Select(Expression)
ODTDonnee = New DataTable("" & Symb & "")
'Importation des lignes de l'expresssion
For Each r As DataRow In FoundRow
Try
If Not IsDBNull(r) Then
ODTDonnee.ImportRow(r)
End If
Catch ex As Exception
'Si erreur ajoute à la queue le symb non executé
Console.WriteLine(Symb & " Message erreur " & ex.Message)
QuSymbole.Enqueue(Symb)
End Try
Next
ObjDataSet.Tables.Add(ODTDonnee)
Console.WriteLine(ObjDataSet.Tables.Count.ToString)
Console.WriteLine("Le thread {0} execute le symbole {1} dans le datatable {2} avec {3} données dedans", Thread.CurrentThread.Name, Symb, ODTDonnee.TableName, ODTDonnee.Rows.Count.ToString)
ODTDonnee.Clear()
ODTDonnee = Nothing
Loop
Console.WriteLine(ObjDataSet.Tables.Count.ToString)
End Sub |