Advertisement
kirilstanoev

race condition (fixed)

Dec 20th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.68 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3. namespace RaceCondition
  4. {
  5.     class Program
  6.     {
  7.         static object locker = new object();
  8.         private static int counter;
  9.  
  10.         static void Main(string[] args)
  11.         {
  12.             new Thread(PrintStar).Start();
  13.             new Thread(PrintPlus).Start();
  14.  
  15.             Console.WriteLine();
  16.         }
  17.  
  18.         static void PrintStar()
  19.         {
  20.             lock (locker) // Thread safe code
  21.             {
  22.                 for (counter = 0; counter < 5; counter++)
  23.                 {
  24.                     Console.Write(" *(" + counter + ")\t");
  25.                 }
  26.             }
  27.         }
  28.  
  29.         static void PrintPlus()
  30.         {
  31.             lock (locker) // Thread safe code
  32.             {
  33.                 for (counter = 0; counter < 5; counter++)
  34.                 {
  35.                     Console.Write(" +(" + counter + ")\t");
  36.                 }
  37.             }
  38.         }
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement