在 C# 中,你可以使用关键字 lock 来实现锁。这是一种简单的锁,它可以防止多个线程同时访问代码块。例如:
private object lockObject = new object();
void DoSomething() {
lock (lockObject) {
// 在这里执行需要同步的代码
}
}
这种方法的优点是它非常简单,但是它也有缺点:
- 它会阻塞其他线程,直到当前线程释放锁。这意味着如果一个线程占用了锁很长时间,其他线程就会受到影响。
- 如果你在线程 A 中调用了线程 B 的方法,并且线程 B 中的方法又使用了 lo