永发信息网

关于C# Lock问题

答案:2  悬赏:50  手机版
解决时间 2021-05-02 03:56
  • 提问者网友:焚苦与心
  • 2021-05-01 23:34

有如下程序为例:

public void test(int i)

{

int j;

lock(this)             //麻烦解释下这里的this指什么?莫非是test函数?

{

if (i>10)             

{

i--;

test(i);

}

}

}

 

还有就是以上程序是不是对共享数据i进行锁定?可是为什么锁定i?j是否会被锁定?请大虾详细解释,谢谢了。

最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-05-02 00:18
同志,你大概是C程序员吧。在C#中没有单独的函数,只有类。函数只能作为类的成员函数,因此有一个this指针(抱歉我搞C++,这应该叫引用)指向类的,你就传个引用给函数。如果想用函数指针,就用委任吧。
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-05-02 00:36

你那文件全部代码就只这些吗?

lock会锁定传入的参数指定的对象

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯