class Program
{
static object test = new object();
static void Main(string[] args)
{
new Program().test2();
Console.ReadKey();
}
public void test1()
{
lock (test)
{
Console.WriteLine("test1");
}
}
public void test2()
{
lock (test)
{
test1();
Console.WriteLine("test2");
}
}
}
上記のコードは、最初にtest2()のlockステートメントのステートメントを終了してからtest1()に移動することになっていますか?(つまり、出力は次のようになっているはずではありませんか?:test2 test1)