|
Многопоточность
|
|||
---|---|---|---|
#18+
Подскажите, ф среде Vfp многопоточность реализуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 14:01 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_SПодскажите, ф среде Vfp многопоточность реализуется? по-еврейски: что за задача? Вы работате с сервером? почему озадачивает многопоточность на стороне клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 14:05 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
При выполнения запроса или работы определенной процедуры не хочу останавливать работу основной программы. Пример: запускаю выполнение отчета (время - 3-5мин) и жду, пока он отобразится в Excele. А в это время пользователь мог бы плодотворно чем-то заниматься ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 14:18 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_SПри выполнения запроса или работы определенной процедуры не хочу останавливать работу основной программы. Пример: запускаю выполнение отчета (время - 3-5мин) и жду, пока он отобразится в Excele. А в это время пользователь мог бы плодотворно чем-то заниматься ну дак может тебе посмотреть в стороону джобов? пусть сервер молотит - на станции занимайся чем хочешь. через службу уведомлений получил отмашку - дерни клиента. отчет можно строить и на сервере и не в экселе. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 14:21 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Большенство отчетов выполняется следующим образом: 1. На сервер посылается запрос (90% формирования результата) 2. Формирование вывода результата в отчет: получаю результат запроса в виде курсора, дорабатываю на клиенте (чаще всего использую локальные таблицы) 3. Формирование собственно самого отчета (не важно в чем, но пользователь любит Excel, что бы иметь возможность что-то подправить) Джоб можно было бы использовать, если бы сервер сделал 100% работы. Но и то, необходимо отслеживать готовность выполнения джоба. Воротить короче. Вот если бы была возможность параллельному потоку всунуть выполнение этой задачи, и не париться об этом, было бы класс ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 14:45 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_SБольшенство отчетов выполняется следующим образом: может пойдем другим путем? как вариант почитайте про Reporting Services ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 15:06 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_S, при формировании отчета в Экселе очень много времени занимает форматирование листа. Оптимизировав эту процедуру, решите свои проблемы. Предложенное выше прошелмимо , конечно, более принципиальное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 15:44 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Совершенно верно, как и говорит прошелмимо, переходите на Reporting Services! Тогда клиентом для просмотра отчетов будет IE. Ну а если надо клиента встроить в ваше приложение VFP, то можно и так: http://itband.ru/2010/05/reporting-services-2008-r2-visual-foxpro-9/#more-6001 С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 15:54 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Это все интересно, но формирование отчета - частный случай. Есть другие задачи, которые требуют многопоточности. Например, хотелось бы иметь процесс (невидимый) который контролировал бы и выполнял определенные действия в момент, например, снижения активности работы с программой на станции клиента или еще что-нибудь ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:02 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
По поводу формирования отчетов, есть отчеты настолько нестандартные, что их не выводишь а рисуешь. Плюс Excel-а в том, что формирование отчета в нем - ни есть готовый отчет. Пользователь дорабатывает в нем результат исходя из дополнительной необходимости (дополняя его дополнительной информацией, ведь в отчете не только цифры, но и формулы). Невозможно учесть, и автоматизировать в программе все ньюансы. Это будет дорого. В Excel выводится шаблон с необходимой информацией, а пользователь творит из него все, что ему надо ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:10 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_SЭто все интересно, но формирование отчета - частный случай. Есть другие задачи, которые требуют многопоточности. Ну на этот вопрос вам уже ответили. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:14 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_S, как вариант запускайте два экземпляра программы и делайте в каждом, что хотите. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:34 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
авторПользователь дорабатывает в нем результат исходя из дополнительной необходимости (дополняя его дополнительной информацией, ведь в отчете не только цифры, но и формулы). это не отчет, а филькина грамота автор Невозможно учесть, и автоматизировать в программе все ньюансы. Это будет дорого. вай ит из? не факт. автор В Excel выводится шаблон с необходимой информацией, а пользователь творит из него все, что ему надо еще раз - это не отчет, а филькина грамота и такова Ваша стратегия, но не считайте, что нужно именно так вести разработку. это ваша ленность и удача, что пользователи терпят глумление над собой. В "правильных" системах учета пользователю генерится "правильный" отчет. за суррогат наказывают лишением премий и т.д. гы, если я в своей КИС предложу пользователям что-то еще править в отчетах - меня пристрелят. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:42 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
авторконтролировал бы и выполнял определенные действия в момент, например, снижения активности работы с программой на станции клиента или еще что-нибудь гы, вы пишете вирус? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:44 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_S... Например, хотелось бы иметь процесс (невидимый) который контролировал бы и выполнял определенные действия ... Можно сделать еще один EXE (или свою прогу с доп.параметром запускать) и этим процессом делать нужные действия. Наладить межпроцессное взаимодействие через TCP/IP, PIPE или общие файлы/папки А из основного процесса следить за присутствием вспомогательного и давать ему команды всякие, периодически проверяя его состояние. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 16:46 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
В некоторых программах чтобы учесть все ньюансы нужно такого нагородить, что пользователь будет по сто раз отчеты выводить, каждый раз вспоминая, что забыл обновить какой-нибудь параметр, влияющий на результат. А если он отчет делает 1 раз в месяц, дык это и для меня гемморой. Приходи и уточняй, вы это с корректировали или нет, а этот параметр обновить не забыли? и т.д. Во-вторых - отчетность не строгая, а аналитическая для пользователя, а он сам себе врать не будет. По поводу 2х exe, так и делал. Но вроде на форуме проскочило, что многопоточность организовать реально. Вирусы не пишу ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 18:25 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_S... По поводу 2х exe, так и делал. Но вроде на форуме проскочило, что многопоточность организовать реально.... Родной многопоточности у фокса нет, обсуждали как-то какие-то объекты для этих целей, но похоже никто их не пользует. По большому счету какая разница: несколько потоков или процессов. Механизмы синхронизации потоков и процессов одни и теже, создай один раз класс-обертку для взаимодействия между связанными процессами и все. Несколько процессов надежнее - один упал, второй работает. Упавший поток как правило хоронит и все остальные. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2010, 18:46 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Я делом и занимаюсь. Если создавать запросы к базе, в таблицах которых записей за 100 000 000 да и запрос не стандартный а с подвыпердом, то 3мин - нормально. Извини, что не твоим языком ответил, но ты в курсе, в курсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 09:37 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
Korolyov_SЯ делом и занимаюсь. Если создавать запросы к базе, в таблицах которых записей за 100 000 000 да и запрос не стандартный а с подвыпердом, то 3мин - нормально. Извини, что не твоим языком ответил, но ты в курсе, в курсе. Вы "тянете" на клиент 100 000 000 записей!!!! А он (клиент) ласты не склеит :) Может надо что-то в консерватории подправить и обработку перенести на сервер, а клиенту возвращать только конечный результат или промежуточные подитоги. В этом случае имеет смысл воспользоваться асинхронным методом доступа к SQL серверу. Некая "двупототочность": Пока ODBC драйвер делает фитч данные в своем потоке, вы можете обрабатывать предыдуший набор данных. Подробнее можно почитать тут: http://vfox.kristall.ru/sql_async.html С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 09:58 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
еще раз: никакой многопоточностью на клиенте не только не стоит заморачиваться. можно сделать com-компонент, но это бред. самый оптимальный вариант Вам был подсказан, но Вы уперлись. это Reporting Services. Вам была дана ссылка на реализацию и примеры. другие какие-то "вещи" также нужно реализовывать на стороне сервера, а не заморачиваться "выжиманием ресурсов" станции. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 12:56 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
На самом деле, Reporting Services в данном случае вообще никак не поможет. Какая разница, кто именно будет лопатить данные? Все-равно ведь придется повторить тот же алгоритм подготовки данных. Ну, разве что, тот комп, где будет стоять Reproting Services будет помощнее... Принципиальное ускорение выполнения отчета может быть достигнуто только в том случае, если данные для этого отчета уже предварительно подготовлены. Сделан предварительный расчет. Т.е. созданием дополнительных хранилищ данных с их периодическим обновлением. Хотя, 3 минуты - это не то время ради которого стоит заморачиваться созданием хранилищ или использованием Reporting Services. Кстати, не знаю, как Ваши пользователи, но у нас обычно пользователи даже не пытаются переключится на другой процесс. Как-то это глупо. Ведь отчет как раз и выполняется для того, чтобы на его основе сделать некие выводы о том, что дальше делать в приложении. Ну, исключая какие-либо статистические отчеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 14:26 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
авторКакая разница, кто именно будет лопатить данные? авторНу, разве что, тот комп, где будет стоять Reproting Services будет помощнее... гы, будем надеяться на то, что у ТП стоит пром.сервер, и сомневаться в его производительности мы не станем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 15:19 |
|
Многопоточность
|
|||
---|---|---|---|
#18+
авторКакая разница, кто именно будет лопатить данные? авторНу, разве что, тот комп, где будет стоять Reproting Services будет помощнее... гы, будем надеяться на то, что у ТП стоит пром.сервер, и сомневаться в его производительности мы не станем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2010, 15:25 |
|
|
start [/forum/topic.php?fid=41&fpage=94&tid=1585135]: |
0ms |
get settings: |
12ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 135ms |
0 / 0 |