これが正しいアプローチかどうかはわかりませんが、私がやろうとしているのは、常に実行されるキューを作成して、キューに追加し続けることができるようにすることです。基本的には、キューに追加して、先着順で処理できるようにしたいと思います。私は以下のコードを持っています:
Namespace Managers
Public Class SQLQueueManager
Public Shared Sqlitems As New Queue
Public Sub StartProcessing()
Dim t1 As New Threading.Thread(AddressOf Process)
t1.Start()
End Sub
Public Shared Sub Process()
Do
SyncLock Sqlitems.SyncRoot
If Sqlitems.Count > 0 Then
SqlManager.ExecNonQuery(Sqlitems.Peek)
Sqlitems.Dequeue()
End If
End SyncLock
Loop
End Sub
End Class
End Namespace
私は以下を使用してこのキューを開始します:
Dim sqlT As Thread
sqlT = New Thread(AddressOf SQLQueueManager.Process)
sqlT.Start()
そして私は以下を使用してキューにアイテムを追加します:
SQLQueueManager.Sqlitems.Enqueue(...)
ありがとう