[問題]lock scope中又有lock 為啥不會deadlock?
標題不太好懂@@
請大家看一下以下的sample code
public class Fooo
{
static object oo = new object();
static public void Get()
{
lock (oo)
{
Console.WriteLine("Hi");
Orz();
Console.WriteLine("all");
}
}
static void Orz()
{
lock (oo)
{
}
}
}
class Program
{
static void Main(string[] args)
{
Fooo.Get();
}
}
今天突然想到 我這樣好像怪怪的
我以為會deadlock
因為get那邊已經進去 lock的scope了
可是Orz那塊又在去lock一次
我以為他會卡死在第二個lock區塊遲遲進不去
誰知道順利的印完了....
觀念整個錯誤~~
可否請教各位給予指證
想了一下是不是因為我現在只有一條thread再跑 不會被擋
所以想問 如果多個thread 這種code會不會有風險
謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 188.223.83.48
※ 編輯: QQ29 來自: 188.223.83.48 (08/02 22:53)
→
08/04 13:56, , 1F
08/04 13:56, 1F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章