Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы 1 и 2 на С#.docx
Скачиваний:
165
Добавлен:
11.04.2015
Размер:
253.02 Кб
Скачать

Чтобы добавить оператор "lock" в приложение, выполните следующие действия.

  1. Откройте файл Calculator.cs в Редакторе кода.

  2. Найдите каждый экземпляр следующего кода:

varTotalCalculations += 1;

varTotalAsOfNow = varTotalCalculations;

Должно присутствовать четыре экземпляра этого кода, по одному для каждого метода вычислений.

  1. Измените этот код следующим образом.

lock(this)

{

varTotalCalculations += 1;

varTotalAsOfNow = varTotalCalculations;

}

  1. Сохраните результаты работы и проверьте их, как в предыдущем примере.

Можно заметить небольшое изменение в быстродействии программы. Это связано с тем, что выполнение потоков прекращается, когда в компоненте устанавливается монопольная блокировка. Несмотря на то что этот подход обеспечивает точность, он препятствует использованию некоторых преимуществ многопоточной обработки. Нужно осторожно относиться к блокировке потоков и применять ее только в случае крайней необходимости.