jav*_*red 3 c# multithreading locking
我有一个项目和一个类库.
我需要类库来更新存储项.在我的项目中,我需要访问这些存储项目.我可以lock在不同项目的同一个实例上使用吗?
只要您真正锁定同一个对象,那就应该可以正常工作.如果您使用不同的AppDomains,事情会变得更复杂,但如果它(例如)项目A和项目B锁定在最初来自项目C的对象上,那应该不是问题.
至少,它在技术上会起作用.就个人而言,我通常更喜欢将锁保持为私有 - 例如,不是锁定this或从其他地方获得的引用,我经常会创建一个唯一目的是锁定的对象:
public class Foo
{
private readonly object mutex = new object();
...
}
Run Code Online (Sandbox Code Playgroud)
这样我就知道可以获取该锁的唯一代码是代码Foo.它使锁更易于推理.
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |