|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123,сегодня, 21:09 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056334][21056334] >... Тормозит-морозится интерфейс? ... Большое спасибо за вопрос - я в шоке и плакать, я туповат оказался - интерфейс морозится, причем, если уйду в окно другого приложения, назад вернуться не получается, пока работает асинхронный метод. Может быть дело в том, что работаю в виртуалке? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 21:49 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosДа я еще хуже считаю - я считаю NP полную задачу построения оптимального расписания. Почему ты не делаешь этого там, где это делать удобнее всего: на сервере, с кешированием и всеми делами? Там же максимально быстрый канал с БД, без накладок, без задержек, если это вообще не делать в самой БД. ViPRosНадо явно что бы можно было назначить поток для обслуживания задач ввода/вывода. зачем? ViPRosда, блин, синхронизация все равно нужна, есть неразделяемые объекты. В ДатаТейбл, допустим, фиг два потока запишут одновременно. ну да, пока один пишет, другие будут вынуждены ждать и продолжать пожирать удерживать поток и пожирать ресурсы. это мы ещё не затрагиваем тему GC, который может заблочить твои потоки.. ViPRosА вот если сделан был бы внутри ТПЛ автоматически не плодить потоки, если какой то поток ушел в I|O то было бы хорошо, но нифига такого нету. почему это нет? есть.. просто как только ты введёшь асинки, придётся переходить на семафоры для синхронизации потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 21:49 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев>Petro123,сегодня, 21:09 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056334][21056334] >... Тормозит-морозится интерфейс? ... Большое спасибо за вопрос - я в шоке и плакать, я туповат оказался - интерфейс морозится, причем, если уйду в окно другого приложения, назад вернуться не получается, пока работает асинхронный метод. Может быть дело в том, что работаю в виртуалке? Ну, я так и думал, раз таймер не работает. Ты наверно ни разу не видел как часы компа не тикают когда зип файл зипуешь). ... Вопросы то остались - БЕЗ СТРОКИ ЗАМОРОЗКИ JAVA В БД - РАБОТАЕТ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:01 |
|
C# async... await
|
|||
---|---|---|---|
#18+
hVosttViPRosДа я еще хуже считаю - я считаю NP полную задачу построения оптимального расписания. Почему ты не делаешь этого там, где это делать удобнее всего: на сервере, с кешированием и всеми делами? Там же максимально быстрый канал с БД, без накладок, без задержек, если это вообще не делать в самой БД. Первым делом так и было сделано - на сервере через CLR. Но, сервер не пригоден для вычислений, тем более - графовых. Сделал на сервере через CLR, получился однопоточная фигня медленная. А тут тоже нет никаких накладок, задержек, а кешировать можно везде. Ну, вощем, у меня нет проблем для обсуждения пока по части расчетов (в свое время - лет 7 назад были и я обращался по части оптимизации СКЛ запросов и люди помогали). Быстрее и лучше меня никто пока что не считает из конкурентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:11 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRos, - на сервере через хранимки - ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:12 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 22:01 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056461][21056461] >...Вопросы то остались... У меня база данных отладочного комплекса на другой виртуалке. На ней нет данных для долгоиграющего запроса. Приходится использовать java. Но для await Task.Run всё работает и в случае задержки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:21 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев>Petro123, сегодня, 22:01 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056461][21056461] >...Вопросы то остались... У меня база данных отладочного комплекса на другой виртуалке. На ней нет данных для долгоиграющего запроса. Приходится использовать java. Но для await Task.Run всё работает и в случае задержки. У тебя удивительная способность не отвечать на вопрос. Не только мне, но и например, refreg допросился логи со второго раза. ... Дак работает без той строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:44 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев, объясняю сразу в надцатый раз. Я думаю что нельзя тестировать асинхронность ДРАЙВЕРА таким методом как у тебя. Выше писал что генерация данных в оракле это одно sql выражение. Если не знаешь как - спроси. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 22:57 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 22:44 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056587][21056587] >...Дак работает без той строки? Странный вопрос, а что именно работает? - если таймер, то нет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:06 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеевСтранный вопрос, а что именно работает? - если таймер, то нет я это и спрашивал. Т.е. есть та строка или нет - таймер не работает в обоих случаях. Второй вопрос - выше ссылку на код Алексея видел? Дело твоё, но можешь проверить его код. Если не работает, то у тебя нет вариантов - мой вариант из моего проекта или твой await-вариант. Логично? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:16 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 22:57 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056621][21056621] >...Я думаю что нельзя тестировать асинхронность ДРАЙВЕРА таким методом как у тебя. Причем здесь ДРАЙВЕР - я задерживаю выполнение хранимки. Да и какая нахрен разница - можно запустить любой асинхронный метод без применения await Task.Run - метод таймера не работает, как не работает любой другой метод обработки сообщения, за исключением асинхронного. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:18 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеевПричем здесь ДРАЙВЕР - я задерживаю выполнение хранимки. уже ни при чём. Ты долго отвечаешь на вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:20 |
|
C# async... await
|
|||
---|---|---|---|
#18+
OFF Ну а если поболтать, только ты не отвлекайся)), то БД строит план выполнения запроса, потом подымает кэш. Если ты тормознул процесс, то он не даст на клиента ничего как раз эти 15 сек. Но ты не отвлекайся). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:25 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 23:16 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056663][21056663] >...Логично? ... Логично. Можно использовать Task.Wait(TimeSpan), но лишняя возня. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:29 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 23:25 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056684] [21056684] >...Если ты тормознул процесс, то он не даст на клиента ничего как раз эти 15 сек... Так это мне и надо - ПрогресБар покажет полоску в 15 секунд - время выполнения хранимки ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:33 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеевМожно использовать Task.Wait только не приставай ко мне с этим старьём)). Я сразу на новое прыгнул). ... ВМоисеевТак это мне и надо - ПрогресБар покажет полоску в 15 секунд - время выполнения хранимки какой ты тупой! 15 сек не возвращается код в клиента от БД т.к. там стоит sleep() Код ушёл в драйвер и БД. Ни разу не видел? Сделай код от Алексея. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:38 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 23:38 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056703] [21056703] >...какой ты тупой! Ну какой же ты тупой. Счет секундам(времени) ведет таймер приложения и его счетчик показывает ПрогресБар. Каждую секунду полоска увеличивается. Для этих целей мне по барабану, что хранимка пока не отвечает, как ответит - остановлю таймер, скрою ПрогресБар и начну обработку списка сущностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2017, 23:54 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеевмне по барабану, что хранимка пока не отвечает, сделай dll c кодом sleep() или циклом for 0 - 100000 И запусти из exe шника. Будет таймер показывать на экране? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 00:00 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Petro123 Сделай код от Алексея. и не OFFTOP про теорию потоков ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 00:02 |
|
C# async... await
|
|||
---|---|---|---|
#18+
В Oracle для задержки есть родной DBMS_LOCK.SLEEP(seconds IN NUMBER). ВМоисеев>ВМоисеев, сегодня, 18:41 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21053225][21053225] Раньше не мог аккуратно тестировать хранимую процедуру Oracle - не знал как реализовать задержку. Спасибо коллеге за процедуру: -- Задержка Код: plsql 1. 2. 3.
Теперь могу тестировать и так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 00:08 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 00:00 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056756] [21056756] >...Будет таймер показывать на экране? Твой пример не связан с вводом/выводом ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 00:16 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Попробуй поменять методы в wsp так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Вызов прежний: Код: c# 1.
Таймер должен заработать. ВМоисеевКоллеги, помогите разобраться. Разрабатываю приложения работы с базой данных Oracle. Запросы могут быть долгоиграющими, поэтому на время его выполнения подключаю таймер и отражаю время в прогресс баре. - Ситуация 1: здесь и далее - await wsp.Entity_SP(ИмяХП, sp, asp, RowToEntity);- вызов хранимой процедуры Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
======= ПрогрессБар не работает. - Ситуация 2: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
======= ПрогрессБар штатно. Дискуссия состоялась здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 00:38 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 00:00 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21056756][21056756] >...Будет таймер показывать на экране? Ваш вопрос возбудил смутные подозрения, а асинхронны ли асинхронные методы девартовского дравера. Попробую подергать асинхронные методы SQL Server- а ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 09:38 |
|
C# async... await
|
|||
---|---|---|---|
#18+
SirYouGinПопробуй поменять методы в wsp так: То что task.run работает, он знает с 1 страницы. Он так не хочет. 2.Не цитируй много текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2017, 12:16 |
|
|
start [/forum/topic.php?fid=20&msg=39574731&tid=1399554]: |
0ms |
get settings: |
14ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 460ms |
0 / 0 |