функции main() объекты Counte
Автор admin Четверг, 25 июня 2009 11:32
функции main() объекты CountedPtr передаются двум объектам Incrementer по значению, поэтому для них вызывается копирующий конструктор с увеличением счетчика ссылок. До тех пор пока задачи продолжают работать, счетчик ссылок остается ненулевым, и объект Count, находящийся под управлением CountedPtr, не уничтожается. Только после завершения всех задач, использующих Count, объект CountedPtr вызовет (автоматически) оператор delete для объекта Count. Практически во всех случаях, когда объекты используются несколькими задачами, следует поставить эти объекты под контроль шаблона CountedPtr и предотвратить проблемы, связанные с жизненным циклом этих объектов. 550 Глава 11 • Многопоточное программирование Конфликты доступа к ресурсам В следующем примере одна задача генерирует четные числа, а другие задачи эти числа поглощают. Единственная функция потоков-потребителей — проверка действительности (то есть четности) этих чисел. Начнем с определения класса потока-потребителя EvenChecker, поскольку он будет нужен нам во всех последующих примерах. Чтобы отделить EvenChecker от разных типов генераторов, с которыми мы
Комментарии закрыты.
Последние комментарии