【发布时间】:2016-01-19 11:24:21
【问题描述】:
我有一个调用另一个方法 B 的方法 A。单击按钮后,调用方法 A,该方法又调用方法 B。但是,当 2 个用户同时单击该按钮时,我只希望一个用户访问方法B,而另一个等待方法 B 完成。我想过这样做:
private static Object _Lock = new Object();
private void A(){
lock(_Lock){
B();
}
}
用户在不同的机器上。该项目是一个网站。
但我认为这是不正确的。如何改进上述代码,使其成为正确的工作方式?
【问题讨论】:
-
你的意思是,在不同的机器上?你的问题我不清楚。
-
B()可能是服务调用吗?我认为您的问题可能过于笼统。 -
@PatrickHofman:用户在不同的机器上。该项目是一个网站。
-
@JamesThorpe:B() 不是服务调用,而是一种方法。
-
好的。在这种情况下,
B需要多长时间?您是否愿意让您的用户在没有响应的情况下排队?是什么让你认为你所拥有的不正确?