Реферат: Паралельноє програмирование

public delegate void ThreadStart();

Виклик методу Start починає виконання потоку. Потік триває до виходу з виконуваного методу. Ось приклад, що використовує повний синтаксис C# для створення делегата ThreadStart :

class| ThreadTest|

{

static| void| Main|()

{

Thread| t = new| Thread|(new| ThreadStart|(Go|));

t.Start(); // Виконати Go|() у новому потоці.

Go|(); // Одночасно запустити Go|() у головному|чільному| потоці.

}

static void Go() { Console.WriteLine("hello!"); }

В даному прикладі потік виконує метод Go () одночасно з головним потоком. Результат – два майже одночасних «hello»:

hello|! hello|!

2.2 Засоби|кошти| синхронізації в мові С#

У наступних|таких| таблицях приведена інформація про інструменти С# для координації (синхронізації) потоків:

Конструкція

Призначення

Sleep

Блокування на вказаний час

Join

Чекання закінчення іншого потоку

Табл. 2.1 Прості методи блокування

Конструкція

Призначення

Доступна з інших процесів?

Швидкість

Lock

Гарантує, що лише один потік може дістати доступ до ресурсу або секції коди.

немає

швидко

Mutex

Гарантує, що лише один потік може дістати доступ до ресурсу або секції коди. Може використовуватися для запобігання запуску декількох екземплярів додатка.

так

середня

Semaphore

Гарантує, що не більш заданого числа потоків може дістати доступ до ресурсу або секції коди.

так

К-во Просмотров: 193
Бесплатно скачать Реферат: Паралельноє програмирование