Как выполнить синхронизацию потоков - C#
Формулировка задачи:
Добрый вечер!
Получил задание с определенным условием, а именно "разделить операции на потоки и
синхронизацию потоков выполнять с помощью базовых механизмов платформы (без использования Task Parallel Library и concurrent-коллекций)". Как можно это реализовать? Откопал оператор lock и по нему короткий мануал и пример. Он годится?
Опыта программирования на C# нет, только Java и С++, но человеку надо сделать на C#.
Решение задачи: «Как выполнить синхронизацию потоков»
textual
Листинг программы
- The lock statement is translated by C# 3.0 to the following:
- var temp = obj;
- Monitor.Enter(temp);
- try
- {
- // body
- }
- finally
- {
- Monitor.Exit(temp);
- }
- In C# 4.0 this has changed and it is now generated as follows:
- bool lockWasTaken = false;
- var temp = obj;
- try
- {
- Monitor.Enter(temp, ref lockWasTaken);
- // body
- }
- finally
- {
- if (lockWasTaken)
- {
- Monitor.Exit(temp);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д