AsyncProc.h

См. документацию.
00001 /*
00002  * CntmLib - Подсчет ссылок, потоки, синхронизация, асинхронные процедуры, события
00003  * Copyright (c) 2005, Овсеевич Роман, CntmLib@mail.ru
00004  * _______________________________________________________________________________
00005  * Разрешено свободное использование, копирование, распространение, изменение
00006  * (изменение сведений об авторских правах запрещено). Запрещена продажа и 
00007  * включение всей библиотеки или ее частей в другие библиотеки. В сведениях об
00008  * авторских правах на программу (или сведениях о программе, об авторах, 
00009  * использованных средствах разработки и т.д.) должна быть указана информация
00010  * о библиотеке CntmLib, ее авторе и, возможно, сайте или email'е.
00011  * Библиотека поставляется "как есть", без каких-либо гарантий со стороны автора.
00012  */ 
00013 
00014 /**
00015  * \defgroup AsyncProc Cntm.AsyncProc
00016  * Асинхронные процедуры позволяют разнести во времени моменты запуска и выполнения операций. После запуска асинхронной операции программа не дожидаясь ее окончания переходит к выполнению следующей операции. В качестве асинхронной операции в библиотеке используется произвольный метод объекта (т.е. асинхронная операция характеризуется указателем на объект и адресом метода).
00017  *
00018  * Асинхронные процедуры позволяют запускать методы объектов как отдельные потоки, выполнять отложенные вызовы методов (отложенные вызовы обсуждались в синхронизации, Cntm::SynchroSpace и Cntm::DeferEvent). Также асинхронные процедуры позволяют манипулировать подготовленными вызовами методов как объектами, которые можно передавать как параметры и т.п. (подготовленный вызов - это фиксация объекта, метода, аргументов, которые будут переданы методу при вызове, после этого остается только подать команду запуска выполнения). Подробное описание асинхронных процедур приведено в Cntm::AsyncProc.
00019  *
00020  * Асинхронные процедуры являются единицами выполнения (наследуют класс Cntm::ExecutionUnit), поэтому взаимодействие с объектом асинхронной процедуры происходит с помощью хэндла Cntm::AsyncProcHandle, который позволяет отслеживать состояние выполнения, запускать (если процедура не была запущена при создании), останавливать, а также выполнять ряд других действий. Шаблонный класс Cntm::AsyncProcResult расширяет возможности хэндла для получения возвращаемого асинхронным методом значения. В качестве параметра указывается тип возвращаемого значения.
00021  */
00022 
00023 #include <Cntm/AsyncProc/AsyncProc.h>
00024 #include <Cntm/AsyncProc/AsyncProcHandle.h>
00025 #include <Cntm/AsyncProc/AsyncProcResult.h>
00026 #include <Cntm/AsyncProc/AsyncProcTerminatingSignal.h>
00027 #include <Cntm/AsyncProc/NoneAsyncResultException.h>

SourceForge.net Logo
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой  doxygen 1.5.3