"Alexey Popov" сообщил/сообщила в новостях следующее:
И как будет выглядеть этот модуль? Который должен быть универсальным.
А как выглядит тот-же асинхронный АДО, АДО.НЕТ?
Он не может вернуть курсор в другой поток, т. к. при разборе результата даже простой isc_fetch должен выполнится
асинхронно, т.к. может заброкироваться надолго.
В результате бизнес-логику надо размазывать по двум потоком - основным и
потоком работающим с БД.
А почему размазывание бизнес-логики не происходит при асинхронном использовании сокетов? Наверное потому, что при
асинхронном использовании сокетов, приложение изначально проектируется соответствующим образом. И ещё, ИМХО, мы имеем
отсутствие аснхронности ещё и потому, что никакие компоненты прямого доступа не приспособленны к асинхронным операциям и
для нормальной работы нужно писать свои компоненты, ориентированные именно на асинхронный режим работы или использовать
breafcase для работы пользователя, попутно заполняя его результатами асинхронных операций.
И не нужно говорить об асинхронности как о панацее, это как и всякий
инструмент, кому-то будет к месту, а кому-то нет.
:)