我一直试图解决这个问题很长一段时间了.我已经编写了一些示例代码,展示了lockC#中的用法.手动运行我的代码我可以看到它的工作方式应该如此,但当然我想写一个单元测试来确认我的代码.
我有以下ObjectStack.cs课程:
enum ExitCode
{
Success = 0,
Error = 1
}
public class ObjectStack
{
private readonly Stack<Object> _objects = new Stack<object>();
private readonly Object _lockObject = new Object();
private const int NumOfPopIterations = 1000;
public ObjectStack(IEnumerable<object> objects)
{
foreach (var anObject in objects) {
Push(anObject);
}
}
public void Push(object anObject)
{
_objects.Push(anObject);
}
public void Pop()
{
_objects.Pop();
}
public void ThreadSafeMultiPop()
{
for (var i = 0; i < NumOfPopIterations; i++) { …Run Code Online (Sandbox Code Playgroud)