Jakie są różnice między ConcurrentQueue a BlockingCollection w .Net?
Jakie są różnice międzyConcurrentQueue
iBlockingCollection
w sieci?
CzemuBlockingCollection
jest najlepszy do obsługi przez producenta i konsumenta, kiedy można to zrobićConcurrentQueue
? Czy muszę poprawić coś w poniższym kodzie?
<code>MessageSlotMachineGameStartOrAndStatusUpdate msg; while (!aCancellationToken.IsCancellationRequested) { try { this.isStillConsumingMsg = true; Boolean takeResult = this.msgQueue.TryTake(out msg, this.msgConsumeTimeOut, aCancellationToken); if (takeResult) { if (msg != null) { this.ProcessMessage(msg); } } else { break; } } catch (OperationCanceledException err) { EngineManager.AddExceptionLog(err, "Signal Operation Canceled"); } catch (Exception err) { EngineManager.AddExceptionLog(err, "Signal exception"); } finally { this.isStillConsumingMsg = false; } } </code>