今天闲来无事,想到了死锁,之前一直没遇到过死锁,就写个来玩
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");
}
}
});
}