如何解决这个lock()问题????

superfishmanweb 2005-08-15 05:56:20
在我的程序中使用的多线程都对其中的一个静态的arraylist进行操作?问如何能用lock()来锁定这个公共资源呢?
还有一个问题就是,如果其中的一个线程锁了这个资源后另外一个线程想访问该资源时是等待解锁再自己运行还是要手动提供一个开锁信息呢?
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanruinet 2005-08-16
  • 打赏
  • 举报
回复
public static ArrayList list = new ArrayList();

线程中要访问list的代码中:
lock(list)
{
list.Add(1);
list.Add(2);
......
}

当代码走出}以后下一个等待着的线程会自动锁定并运行lock中的代码,不需要手动提供开锁信息
henryfan1 2005-08-16
  • 打赏
  • 举报
回复
对于有没有lock成功你是不用管的,只要能进到lock里面执行就是lock成功了.
要么就在外面等待
superfishmanweb 2005-08-16
  • 打赏
  • 举报
回复
那我应该如何验证有否lock成功呢?

110,561

社区成员

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

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

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