المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : find solution for deadlock



C# Programming
04-11-2012, 03:40 PM
can anybody help me in solving this deadlock?
class Program { readonly static object obj1 = new object(); readonly static object obj2 = new object(); static void F1() { lock (obj1) lock (obj2) { Console.Write("1"); } } static void F2() { lock (obj2) lock (obj1) { Console.Write("2"); } } static void Main(string[] args) { Task[] tasks = new[] { Task.Factory.StartNew(() => { for (int i = 0; i < 100; i++) F1(); }), Task.Factory.StartNew(() => { for (int i = 0; i < 100; i++) F2(); }), }; Task.WaitAll(tasks); Console.WriteLine(); Console.WriteLine("all done"); } }