Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Межпроцессорное взаимодействие и многопоточность в .NET (реферат).docx
Скачиваний:
30
Добавлен:
28.06.2014
Размер:
139.35 Кб
Скачать

Оглавление

Класс Thread. 4

Общая информация. 4

Thread – составляющие 6

Свойства 6

Методы 13

Класс Process 18

Общая информация. 18

Process – составляющие 19

Свойства 19

Методы 19

Класс WaitHandle 22

Общая информация. 22

WaitHandle – составляющие 23

Поля 23

Свойства 23

Методы 23

Класс Mutex 24

Общая информация. 24

Mutex – составляющие 25

Свойства 25

Методы 25

Класс AutoResetEvent 28

Общая информация. 28

AutoResetEvent – составляющие 29

Методы 29

Класс ManualResetEvent 31

Общая информация. 31

ManualResetEvent – составляющие 32

Методы 32

Класс Monitor 36

Общая информация. 36

Monitor – составляющие 37

Методы 37

Класс Semaphore 40

Общая информация. 40

Semaphore – составляющие 40

Свойства 40

Методы 41

Список литературы 44

Класс Thread. Общая информация.

Описание:

Создает и контролирует поток, задает его приоритет и возвращает его статус.

Список всех членов этого типа представлен в разделе Thread - члены.

Процесс может создавать один или более потоков для выполнения частей программного кода, связанного с процессом. Следует использовать делегат ThreadStart для задания программного кода, выполняемого потоком.

В течение своего существования поток всегда находится в одном или более состояниях, определенных в классе ThreadState. Для потока можно запрашивать планирование уровня приоритета, который определяется классом ThreadPriority, но не гарантируется, что операционная система предоставит его.

Список всех состояний ThreadState:

 

Состояние

Описание состояния

Aborted

Поток находиться в состоянии Stopped

Background

Поток был запущен как фоновый. Данное состояние контролируется свойством Thread.IsBackground

Running

Поток начал работу и он не блокирован

Stopped

Поток завершил работу 

Suspended

Поток ожидает старта 

Unstarted

Поток не начал работу, так как метод Thread.Start не был вызван

WaitSleepJoin

Поток блокирован в результате вызова методов Thread.Wait, Thrad.Sleep, Thread.Join

Таблица изменения состояний:

Действие изменяющее состояние

Состояние

Поток создается общеязыковой средой выполнения

Unstarted

Поток вызывает метод Start

Unstarted

Поток выполняется

Running

Поток вызвал метод Sleep

WaitSleepJoin

Поток вызвал метод Wait

WaitSleepJoin

Поток вызвал метод Join

WaitSleepJoin

Другой поток вызвал метод Interrupt

Running

Поток реагирует на запрос Suspend

Suspended

Другой поток вызвал метод Resume

Running

Поток реагирует на запрос Abort

Stopped

Поток остановлен

Stopped

(Более подробно и всеобъемлюще потоки рассматриваются в [8])

Иерархия:

System.Object    System.Threading.Thread

Определение:

[C#]

public sealed class Thread

Потокобезопасность:

Этот тип можно безопасно использовать в многопоточных операциях.