м, задачи, совместно использую
Автор admin Четверг, 25 июня 2009 11:32
м, задачи, совместно использующие общий ресурс (задачу Generator, реализующую Cancelable), следят за тем, когда ресурс подаст сигнал на завершение. Тем самым устраняется так называемая ситуация гонок, когда две или более задачи независимо реагируют на некоторое условие, что приводит к конфликтам или нарушению логической целостности результатов. Вы должны тщательно продумать механизм защиты от всех возможных сбоев в многопоточной системе. Например, задача не может зависеть от другой задачи, потому что порядок завершения задач не гарантирован. Организуя зависимость задач от объектов (для которых реализован подсчет ссылок с использованием CounterPtr), мы устраняем потенциальную опасность гонок. В следующих разделах мы познакомимся с более общими механизмами управления завершением потоков, поддерживаемыми библиотекой ZThread. Так как Generator может совместно использоваться несколькими объектами EvenChecker, шаблон CountedPtr применяется для подсчета объектов Generator. Последняя функция EvenChecker — статический шаблон функции класса, который готовит и выполняет проверку произвольного типа Generator. Для э
Комментарии закрыты.
Последние комментарии