当前位置:编程学习 > C#/ASP.NET >>

多线程 C#里的lock

publicvoid test(int i) { lock(this) { if (i>10) { i--; test(i); } } } 这个是面试题说"不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)" 我搞不懂 在单线程里执行这个方法 无论参数是int还是object 我觉得都不应该发生死锁的情况,单线程里执行这个方法怎么可能出现死锁的情况呢!,,,那这个题目的答案说的int换成object里就会死锁是在什么样的情况下?,,,我以前很少接触多线程。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,