Thread.Sleep и lock - C#
Формулировка задачи:
Что будет если вызвать Thread.Sleep() внутри блока кода lock?
Решение задачи: «Thread.Sleep и lock»
textual
Листинг программы
- using System;
- using System.Threading;
- class Locker { }
- static class SyncLock
- {
- static int[] nums = {1,2,3,4,5,6,7,8,9};
- static Locker lockThis = new Locker();
- public static void Sum()
- {
- for (int i = 0, j = 0; i < 9; i++)
- {
- lock (lockThis)
- {
- Console.Write("{0} ", j += nums[i]);
- nums[i] = 1;
- Thread.Sleep(2);
- }
- }
- }
- }
- class demo
- {
- static void Main()
- {
- Thread thrd1 = new Thread(SyncLock.Sum);
- Thread thrd2 = new Thread(SyncLock.Sum);
- thrd1.Start();
- thrd2.Start();
- thrd1.Join();
- thrd2.Join();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д