如何让一个静态方法在被多个线程调用时排队执行

wjiankui 2008-08-30 08:55:38
public class A
{
public static void a()
{
dosomething();
}
}
请问如何在多个线程中运行方法a()的时候是排队执行的。一个执行完后,执行另外一个,如果有一个在执行。那么就等待。有什么方法阿?
...全文
210 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjiankui 2008-08-30
  • 打赏
  • 举报
回复
谢谢各位
greystar 2008-08-30
  • 打赏
  • 举报
回复
lock(typeof(A))
brallow 2008-08-30
  • 打赏
  • 举报
回复
楼上的方法可以保证两个a方法不会同时执行,但是不能保证按某个固定的顺序执行(比如线程1,线程2的顺序)。
fuadam 2008-08-30
  • 打赏
  • 举报
回复

public class A
{
static object mutex = new object();
public static void a()
{
lock(mutex)
{
dosomething();
}
}
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧