"Alexey Popov" сообщил/сообщила в новостях следующее:
И как будет выглядеть этот модуль? Который должен быть универсальным.

А как выглядит тот-же асинхронный АДО, АДО.НЕТ?

Он не может вернуть курсор в другой поток, т. к. при разборе результата даже простой isc_fetch должен выполнится асинхронно, т.к. может заброкироваться надолго.
В результате бизнес-логику надо размазывать по двум потоком - основным и 
потоком работающим с БД.

А почему размазывание бизнес-логики не происходит при асинхронном использовании сокетов? Наверное потому, что при асинхронном использовании сокетов, приложение изначально проектируется соответствующим образом. И ещё, ИМХО, мы имеем отсутствие аснхронности ещё и потому, что никакие компоненты прямого доступа не приспособленны к асинхронным операциям и для нормальной работы нужно писать свои компоненты, ориентированные именно на асинхронный режим работы или использовать breafcase для работы пользователя, попутно заполняя его результатами асинхронных операций.

И не нужно говорить об асинхронности как о панацее, это как и всякий 
инструмент, кому-то будет к месту, а кому-то нет.
:)


Ответить