首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锁定对象引用是否锁定对象或引用?

锁定对象引用是否锁定对象或引用?
EN

Stack Overflow用户
提问于 2016-04-22 12:56:59
回答 1查看 251关注 0票数 0

假设我有一个对象数组:

代码语言:javascript
复制
MyObject[] objects = new MyObject[10];

然后循环遍历数组,并锁定每个对象,以便按数组索引进行处理:

代码语言:javascript
复制
for (int i=0; i<10; i++)
{
    lock (objects[i])
    {
        // process objects[i]
    }
}

这是否意味着对象本身被锁定了?还是引用对象被锁定了?是否会阻止来自其他地方(而不是通过此数组)对同一对象的另一个调用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-22 13:01:16

锁定机制与对象关联,与引用无关,与变量无关。

因此,是的,锁定在其他地方和另一个线程上的同一个对象实例会阻止它,直到退出示例代码中的锁为止。

请注意,不使用lockMonitor.Enter的其他线程上的代码不会被阻塞。

另外,请注意,锁的语句块中的异常将退出该块并释放锁,可能会留下任何锁处于损坏状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36794495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档