【发布时间】:2020-09-15 17:34:32
【问题描述】:
我在我的多线程 C# 应用程序中使用列表作为队列。 我正在锁定我的自定义 Enqueue 和 Dequeue 方法。因为多个线程可以调用这些方法。
发件人:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/lock-statement 我想我应该,但我仍然会在这里问这个问题。 我应该锁定只告诉我哪个元素处于零索引的 Peek 方法吗? 出于示例的目的,请考虑我有整数列表(队列)。
list = [1, 2, 2, 5]
Enqueue(list, 6)
// [1, 2, 2, 5, 6]
var element = Dequeue(list) // element = 1;
// [2, 2, 5, 6]
var peekElement = Peek(list) // peekElement = 2
// [2, 2, 5, 6]
【问题讨论】:
标签: c# multithreading locking mutex