Advertisement
mjc65

Example 1-37. Creating a deadlock

Jun 23rd, 2020
1,082
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.78 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3. using System.Threading.Tasks;
  4.  
  5. namespace Chapter1
  6. {
  7.     public class Program
  8.     {
  9.         static void Main()
  10.         {
  11.             object lockA = new object();
  12.             object lockB = new object();
  13.  
  14.             var up = Task.Run(() =>
  15.             {
  16.                 lock (lockA)
  17.                 {
  18.                     Thread.Sleep(1000);
  19.                     lock (lockB)
  20.                     {
  21.                         Console.WriteLine("Locked A and B");
  22.                     }
  23.                 }
  24.             });
  25.  
  26.             lock (lockB)
  27.             {
  28.                 lock (lockA)
  29.                 {
  30.                     Console.WriteLine("Locked B and A");
  31.                 }
  32.             }
  33.             up.Wait();
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement