|
C# async... await
|
|||
---|---|---|---|
#18+
hVostt, да при чем тут блокировки? блокировка - это когда ресурс не разделяем, мощность занята одномоментно (независимо от степени загрузки) ладно, надоело ругаться, сил уже нет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 22:54 |
|
C# async... await
|
|||
---|---|---|---|
#18+
hVosttViPRosсинхронизировать (распараллелить по возможности в заданном отрезке времени) заполнение вьюмодели и генерации вью для вьюмодели интерпретация и запись промежуточных результатов и параллельный расчет расписания при чём тут асинхронность? в том, что ты не хочешь свой UI блокировать? не блокировать UI можно в редких случаях - когда все реентерабельно а асинхронность при том что почему то синхронизация процессов делается через так называемые асинхронные методы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 22:56 |
|
C# async... await
|
|||
---|---|---|---|
#18+
hVostt, запуская отдельный потом, не всегда нужна асинхронность, ожидать завершение операции работающей в отдельном потоке далеко не всегда имеет смысл ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 23:01 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosда при чем тут блокировки? если блокировки не при чём, как и кого ты хочешь синхронизировать? с помощью такой-то матери? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 23:18 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosа асинхронность при том что почему то синхронизация процессов делается через так называемые асинхронные методы у меня такое ощущение, что у тебя понятийный оппорат совершенно отличается от общепринятых. асинхронное выполенние отличается от синхронного отсутствием блокирования потока исполнения. точка. мозги не калупай, или объясни своё понимание «асинхронности» и мы подберём ему аналог из общепринятых человеческих понятий. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 23:19 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Roman Mejtesзапуская отдельный потом, не всегда нужна асинхронность, ожидать завершение операции работающей в отдельном потоке далеко не всегда имеет смысл любое ожидание чего угодно является блокировкой, следовательно это синхронное выполнение. банальный Wait на таске блокирует поток, значит ни о какой асинхронности говорить не приходится. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 23:21 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Roman Mejtesожидать завершение операции работающей в отдельном потоке вот две операции: a = 1 + 2 b = a + 3 вторая операция ожидает, пока не выполнится первая. это нужно, потому что нам требуется результат. если бы результат был бы не нужен, вторую операцию можно было бы исполнять не ожидая первой. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 23:23 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>hVostt, вчера, 21:53 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21050190][21050190] >... он тупо не понимает что и зачем делает... Вы батенька явно что-то не то съели - задача то проста - показать в динамике время получения выборки - запускаю таймер и показываю его счетчик секунд в ПрогрессБаре ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 00:53 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев>hVostt, вчера, 21:53 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21050190][21050190] >... он тупо не понимает что и зачем делает... Вы батенька явно что-то не то съели - задача то проста - показать ву динамике время получения выборки - запускаю таймер и показываю его счетчик секунд в ПрогрессБаре )))) Вы бы хоть мемберов тут пожалели. Некоторые тут с пеной требовали синхронизации потоков с результатами от хранимки. 2. ПрогрессБар это полоска а ля position min\max а не таймер. Кто тебе клаву дал, раз молчишь как партизан? В прошлой теме у тебя было 120 страниц. В этой, ерунду обсуждаем кучу времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 07:29 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев>hVostt, вчера, 21:53 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21050190][21050190] >... он тупо не понимает что и зачем делает... Вы батенька явно что-то не то съели - задача то проста - показать в динамике время получения выборки - запускаю таймер и показываю его счетчик секунд в ПрогрессБаре мне нечего добавить к тому, что я уже сказал ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 07:33 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Petro1232. ПрогрессБар это полоска а ля position min\max а не таймер. да бесполезно объяснять очевидное, это паталогия ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 07:34 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>Petro123, сегодня, 07:29 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21050662] [21050662] >hVostt , сегодня, 07:34 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21050668] [21050668] Мужики, выключайте идиотов и включайте извилины -немедленно-, а то если долго претворяться, можно и преобразоваться. А пока не включили извилины, повторяю: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Почему проходит это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
и не проходит это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
я не знаю. Может быть ошибка разработчика, а может быть надо так: Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:12 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеева может быть надо так: Код: c# 1. 2. 3. 4. 5.
я же тебе показал, что тут надо подкрутить TCompletetionSource ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:20 |
|
C# async... await
|
|||
---|---|---|---|
#18+
а так, когда у тебя работает - она работает за счет того, что твой метод запущен в другом потоке, а таймер работает в основном потоке. а когда не работает, потому что твой метод работает в основном потоке (так как await выкидывается) и таймер не может работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:23 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>ViPRos, 19 дек 17, 23:58 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21047273] [21047273] Я подобный код у себя преобразовал примерно так: wk.DoWork сделал async DoWork wk.RunWorkerCompleted сделал основной веткой программы и в начало её тела включил -await DoWork- функционал wk.ProgressChanged включил в async DoWork, благо DoWork выполняется в UI потоке и это мне понравилось ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:30 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев, я про этот код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:32 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев, ну для твоих целей бгворкер лучше, так как там есть прогресс (синхронизация потоков возможно встроенными возможностями) и думать не надо ни о чем и можно показать нормальный прогресс, допустим по числу прочитанных записей, числу резалтьсетов и т.д., а не крутить фигню нескончаемую. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:35 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosВМоисеев, я про этот код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Ну это аналог Task.Run . Зачем такое писать самому? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:38 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеевМужики 2 вопроса: - ты можешь на каждый пост отвечать и отвечать быстро? Хотя бы в пределах часа? - ты хочешь работать с современным net 4.5, .....6? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:41 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Алексей КViPRosВМоисеев, я про этот код Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Ну это аналог Task.Run . Зачем такое писать самому? ну он хочет await мойМетод ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:43 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosАлексей Кпропущено... Ну это аналог Task.Run . Зачем такое писать самому? ну он хочет await мойМетодНу я понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:44 |
|
C# async... await
|
|||
---|---|---|---|
#18+
Алексей КViPRosпропущено... ну он хочет await мойМетодНу я понял. он же всю ветку только из за этого завел ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:45 |
|
C# async... await
|
|||
---|---|---|---|
#18+
>ViPRos, сегодня, 12:23 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21051324][21051324] >...а когда не работает... На мой взгляд, дело тоньше (могу ошибаться): Когда оконная функция приложения получает свой квант в UI потоке, она начинает обработку своей очереди сообщений и думаю, что оконной функции глубоко наплевать, кто положил сообщение в очередь. Важно, что она обязана как-то обработать сообщение: может быть просто отбросить, а может и вызвать ветку обработчика сообщения, что и делает в моём случае await TaskRun - не запрещает обработку от таймера. Почему этого нет в другом случае - вопрос, по моей логике это ошибка разработчика ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:47 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ViPRosАлексей Кпропущено... Ну я понял. он же всю ветку только из за этого завелЯ понял. Просто есть родной метод Task.Run . Что мешает использовать его для осуществления мечты топикстартера? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:48 |
|
C# async... await
|
|||
---|---|---|---|
#18+
ВМоисеев>ViPRos, сегодня, 12:23 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21051324][21051324] >...а когда не работает... На мой взгляд, дело тоньше (могу ошибаться): Когда оконная функция приложения получает свой квант в UI потоке, она начинает обработку своей очереди сообщений и думаю, что оконной функции глубоко наплевать, кто положил сообщение в очередь. Важно, что она обязана как-то обработать сообщение: может быть просто отбросить, а может и вызвать ветку обработчика сообщения, что и делает в моём случае await TaskRun - не запрещает обработку от таймера. Почему этого нет в другом случае - вопрос, по моей логике это ошибка разработчика блин просто у тебя нет в методе DoEvents() где-нить, а так и таймер бы работал всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 12:49 |
|
|
start [/forum/topic.php?fid=20&msg=39573475&tid=1399554]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 445ms |
0 / 0 |