死锁

今天闲来无事,想到了死锁,之前一直没遇到过死锁,就写个来玩

private static object syncObjecta = new object();
private static object syncObjectb = new object();

public static void Main()
{
// your code goes here
fun1();
fun2();
Console.Read();
}

public static void fun1()
{
Task.Factory.StartNew(()=>
{
lock(syncObjecta)
{
Thread.Sleep(1000);
lock(syncObjectb)
{
Console.Write("fun1");
}
}
});
}

public static void fun2()
{
Task.Factory.StartNew(()=>
{
lock(syncObjectb)
{
Thread.Sleep(1000);
lock(syncObjecta)
{
Console.Write("fun1");
}
}
});
}

posted @ 2016-06-08 20:50  jesse_xie  阅读(168)  评论(0编辑  收藏  举报