Шаг 248.
Язык программирования C#. Начала.
Многопоточное программирование. Выводы
На этом шаге мы подведем некоторые итоги.
Подведем некоторый итог изученному материалу.
- Существует ряд свойств и методов, полезных при работе с потоками. Статический метод Sleep() класса Thread позволяет выполнить временную приостановку в выполнении
потока, из которого вызывается метод. Время (в миллисекундах) задержки в выполнении потока указывается в качестве аргумента при вызове метода. Метод Join() используется, если
необходимо дождаться выполнения потока, из объекта которого вызван метод. С помощью метода Abort() можно завершить выполнение потока. Свойство IsAlive позволяет
определить, выполняется ли поток, для объекта которого запрашивается свойство. Свойство Name определяет название потока, а свойство Priority определяет приоритет проекта.
Статическое свойство CurrentThread результатом возвращает ссылку на объект потока, из которого запрашивается свойство.
- По умолчанию дочерние потоки являются приоритетными, поэтому при завершении главного потока работа дочерних потоков продолжается. Можно создать фоновый поток, который
автоматически завершается при завершении главного потока. Для этого свойству IsBackground объекта потока необходимо присвоить значение true (по умолчанию это свойство имеет
значение false).
- При выполнении потоков, если они обращаются к одному общему ресурсу, выполняется синхронизация потоков. Один из способов решения этой задачи состоит в блокировке объекта, к
которому обращаются потоки. Если использовать инструкцию lock, после которой в круглых скобках указать объект, то этот объект будет заблокирован для других потоков, пока
выполняется выделенный блок программного кода.
На следующем шаге мы рассмотрим несколько примеров программ, в которых используется многопоточное программирование.
Предыдущий шаг
Содержание
Следующий шаг