我不确定这是否是正确的方法,但我想做的是创建一个不断运行的队列,以便我可以继续向其中添加内容。基本上我希望能够将东西添加到队列中,然后以先到先得的方式处理它。我有以下代码:
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(...)
谢谢