Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 263

Как видно из определения сопрограммного взаимодействия, оно никак не связано с потоковой обработкой. Сопрограммность может базироваться на совместном использовании несколькими процессами любого общего ре­сурса (см. рис. 7.1, часть а). Поток следует рассматривать лишь как один из

видов такого ресурса, который характеризуется определенными правилами доступа. Это динамически пополняемая последовательность со слабой зави­симостью пополнения и извлечения элементов: для корректности обработки необходимо выполнение условия (7.2).

Потоки — это один из наиболее важных видов ресурсов, совместно ис­пользуемых сопрограммами. С их помощью реализуется часто применяемый на практике механизм буферизации. Идея механизма буферизации в том, что разделяемый несколькими процессами ресурс «прокачивается» через буфер (очередь, поток, иную структуру данных), пополняемый процессами производителями и опустошаемый процессамипотребителями (см. рис. 7.1, часть б). В этом случае производители могут генерировать элементы, не дожидаясь запросов потребителей.

Нужно отметить, что буферизация полезна, прежде всего, как логическое средство и только во вторую очередь как средство распараллеливания работ. Причем последнее вовсе не обязательно!

Буфер может иметь фиксированные размеры, и тогда его заполненность приводит к невозможности (к блокировке) работы производителей до тех пор, пока потребители не очистят его. В вырожденном случае, когда длина буфера не может превышать единицы, буферизация фактически отсутству­ет и применимы схемы согласования 24. Для асинхронного случая к ним добавляются схемы использования средств управления параллельными вы­числениями: операторы синхронизации, ожидания и т. п. В случае неогра­ниченного буфера становится возможной и схема 1, но, как уже отмечалось, фактически это отсутствие взаимодействия.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама