Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
вроде запускаю простую демку, чтоб пропустить таски, которые выполняют больше, чем установил по времени, но получаю пустую коллекцию хотя ожидал 1 задачу. что не так сделал кто подскажет? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ожидал что вернется таска возвращающая 1000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 14:54 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Либо используй Unwrap в LINQ выражении. Однако возвращается 2 значения, а не одно. Предлагаю подумать, почему так :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 15:31 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, если используешь Delay, можешь юзать await Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 15:34 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
hVostt, блин вот я балда и не написал Run(), хотя обычно в проде всегда пишу Task.Factory.StartNew, прям не внимательный. госпади я тебя люблю) п.с. насчет результата да 2 ..сижу думаю почему так вроде не должны таски друг на друга влиять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 15:40 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
ну почему 2 результата я понял, изза того что where накладывается по очереди. с полным ожиданием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 16:15 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, А почему не использовать Task.WaitAll, WaitAny? Можно написать более простую логику, чем при использовании этой жуткой linq-конструкции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 19:08 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
refreg, ну а как ты сделаешь с ними мою задачу? вот у тебя есть несколько задач, они выполняются по разному времени, но тебе надо выкинуть задачи которые выполняются дольше чем указано т.е. их результат не нужен. к примеру есть 3 задачи: 1 выполняется 1 секунду, 2 - 3 секунды, 3 - 5 секунда. нужны результаты только задачи которые не больше 2 секунд. т.е. только первая задача в таких условиях. WaitAll - ждет все, WaitAny самую первую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 19:28 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
refreg, хм ты навел меня на идею спасибо или ты может эт и имел ввиду Код: c# 1. 2. 3. таски с флагом IsCompleted как раз то что нужно будет, хотя есть шанс что пока будет обрабатываться линку какая то из таск может затесаться но эт уже не критично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 21:06 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuну почему 2 результата я понял, изза того что where накладывается по очереди. с полным ожиданием Ну да, если развернуть выражение, получится типа такого: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ты верно заметил, что надо использовать фильтр IsCompleted, после ожидания в 2000 мс. Ещё рекомендую поиграться с AsParallel() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 21:52 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
hVostt, Если корректно, будет выглядеть это так: Код: c# 1. 2. 3. А то в примере выше такси запускаются уже после ожидания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 21:55 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
hVostt, пробовал так но результат не стабильный на разных кейсах получился, не смог найти объяснения. Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 21:55 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, Ну вот верняк: Код: c# 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 21:57 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, Для данной задачи AsParallel не подходит, так как результат тебе нужен в одном потоке и он зависит от всех элементов-задач. Но можно делать другие крутые штуки в области параллелизма :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 22:01 |
|
||
|
skip task by timeout
|
|||
|---|---|---|---|
|
#18+
hVostt, Код: c# 1. эт вариант не много плох тем что всегда ждет 2 секунды. а то что я написал сверху Код: c# 1. зайдет лучше если таски быстрее отработают чем 2 секунды мелкий но профит ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 22:14 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39477026&tid=1355504]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 361ms |

| 0 / 0 |
