永发信息网

c# lock语句后面的括号里的内容究竟应该怎么填?

答案:2  悬赏:0  手机版
解决时间 2021-02-12 20:00
  • 提问者网友:孤凫
  • 2021-02-12 09:34
c# lock语句后面的括号里的内容究竟应该怎么填?
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-02-12 09:40
这是在多线程时保护资源用的,括号里面是被锁住的资源,当第一个线程执行到这里的时候可以使用该资源,如果第二个线程执行到这里的时候第一线程还没用完那就排队等待,至于那个typeof那个没看到上下文,不清楚啊
应该是锁住对应的类吧追问比如说有一个实例obj1,有两不同的线程一个input一个output方法都要访问这个obj,那么在两个方法内都有一段lock(obj1)代码块,一个input 访问自己的lock代码块的时候output执行到自己的lock部分就要阻塞是这个意思不?追答恩,需要等待
全部回答
  • 1楼网友:夜风逐马
  • 2021-02-12 11:02
lock()括号中的东西,就是一个object。
如果lock锁住的大括号里的语句没执行完,就锁住这个object。如果这个object被锁住的,其他线程执行到这里都会被锁住而等待。
typeof加不加,对于lock本身没有任何作用,但是看代码的逻辑,起到什么作用。追问比如说有一个实例obj1,有两不同的线程一个input一个output方法都要访问这个obj,那么在两个方法内都有一段lock(obj1)代码块,一个input 访问自己的lock代码块的时候output执行到自己的lock部分就要阻塞是这个意思不?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯