|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Приветствую присутствующих. Я как бы не совсем чайник, но чувствую себя полным нулем в тасках. Есть процедура, которая берет DataRow как параметр и должна запускаться асинхронно: Код: vbnet 1. 2. 3.
Есть цикл, который ее должен вызвать: Код: vbnet 1. 2. 3. 4.
Вопрос 1. Как сюда вставить передачу параметра dr? Вопрос 2. У меня еще светится сообщение, что в процедуре OneRecord отсутствуют операторы Await и поэтому она не будет запускаться асинхронно. Куда вставлять Await? Пытался читать старые обсуждения, но ничего там не понял. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 16:17 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Весь цикл в асинхронную процедуру. Передать туда строку коннекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 17:19 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Без Await и прочих Async можно так Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 17:35 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Ах да. Переводчик Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 17:43 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
WebPrjВесь цикл в асинхронную процедуру. Передать туда строку коннекта. И цикл будет переходить к следующей записи, не дожидаясь обработки предыдущей??? Cat2 Переводчик О, это очень ценная штука, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 17:54 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычИ цикл будет переходить к следующей записи, не дожидаясь обработки предыдущей??? Да. Но надо учитывать, что в какой-то момент множество открытых потоков начинают тормозить ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 18:03 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Cat2Владимир СанычИ цикл будет переходить к следующей записи, не дожидаясь обработки предыдущей??? Да. Но надо учитывать, что в какой-то момент множество открытых потоков начинают тормозить Ой, это не к моему коду вопрос был. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 18:04 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Cat2Ой, это не к моему коду вопрос был. Таки да. Но "начинают тормозить" - это глобальная проблема. Я попробую поставить какой-нибудь Sleep, только бы он тоже не начал исполняться асинхронно... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 18:07 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
И еще вопрос. Локальные переменные, описанные в этой вызываемой асинхронно процедуре, у каждого вызова свои? Мне кажется, что одни и те же и разные вызовы затирают их друг другу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 18:14 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычWebPrjВесь цикл в асинхронную процедуру. Передать туда строку коннекта. И цикл будет переходить к следующей записи, не дожидаясь обработки предыдущей??? Смотря что надо. В одном случае будет переключение контекста и создание кучи задач....забитие пула потоков. С другой стороны будет фоновое последовательное выполнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 18:50 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычCat2Ой, это не к моему коду вопрос был. Таки да. Но "начинают тормозить" - это глобальная проблема. Я попробую поставить какой-нибудь Sleep, только бы он тоже не начал исполняться асинхронно... Есть более изящные решения ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 19:09 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
WebPrjСмотря что надо. Надо то, что сказано в исходном посте: запускать асинхронно процедуру, обрабатывающую отдельную запись. WebPrjВ одном случае будет переключение контекста и создание кучи задач....забитие пула потоков. А в другом? WebPrjС другой стороны будет фоновое последовательное выполнение. Это ровно то, что у меня было до того, как я стал пытаться использовать асинхронность. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 21:49 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Cat2Есть более изящные решения Например? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 21:50 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычЭто ровно то, что у меня было до того, как я стал пытаться использовать асинхронность. что то вы лукавите. Если одна задача с циклом внутри, то это один поток и готовая асинхронность. А вы говорите - это было ДО использования асинхронности. Любое решение это компромиссы. Если нужно запустить 100 микрозадачек на 100 строках то запускайте. AFAIK пул там на 50 максимуму и остальные 50 встанут в очередь. Делайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 22:48 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
WebPrjЕсли одна задача с циклом внутри, то это один поток и готовая асинхронность. Записи обрабатывались последовательно. Надо параллельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 23:15 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Чем задачки занимаются - рассчётами или вводом-выводом? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 23:27 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ИзопропилВладимир Саныч, Чем задачки занимаются - рассчётами или вводом-выводом? Передачей информации в другую систему. Процедура берет несколько чисел из одной записи, обращается с ними к другой системе, получает обратно несколько других чисел, заносит в ту же запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 23:33 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычWebPrjЕсли одна задача с циклом внутри, то это один поток и готовая асинхронность. Записи обрабатывались последовательно. Надо параллельно. я ответил - делайте. Только чтение потокобезопасно. Записывать нельзя без синхронизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 23:38 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычИзопропилВладимир Саныч, Чем задачки занимаются - рассчётами или вводом-выводом? Передачей информации в другую систему. Процедура берет несколько чисел из одной записи, обращается с ними к другой системе, получает обратно несколько других чисел, заносит в ту же запись. Для этого существует вариант - быстро читают коллекцию и передают коллекцию в другую систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 23:46 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
WebPrjя ответил - делайте. Да-да, я именно потому и обратился сюда, что точно знаю, как делать, а вот делать или нет - не знал. Спасибо большое за этот очень ценный совет. Теперь буду знать: надо делать. Забыл поблагодарить Вас за предыдущую реплику, заставил повторять, извините. WebPrjДля этого существует вариант - быстро читают коллекцию и передают коллекцию в другую систему. А совет переписать ту систему вообще бесценен, еще раз спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 00:46 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч Код: vbnet 1. 2. 3.
Настоятельно рекомендуется использовать async Task вместо async void (Async Sub) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 05:59 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 06:59 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Мы до тасков еще не дошли). Вы же написали что новичок. Теперь делаете пример с первой страницы. Именно без тасков. Ну а потом будут таски с возвратом. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 07:16 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычWebPrjя ответил - делайте. Да-да, я именно потому и обратился сюда, что точно знаю, как делать, а вот делать или нет - не знал. Спасибо большое за этот очень ценный совет. Теперь буду знать: надо делать. Забыл поблагодарить Вас за предыдущую реплику, заставил повторять, извините. WebPrjДля этого существует вариант - быстро читают коллекцию и передают коллекцию в другую систему. А совет переписать ту систему вообще бесценен, еще раз спасибо. Столько написали всего, а про запись в потоках промолчали. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 07:20 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Вот, добавил в код выше от Cat2. Подходит? И ничего тормозить не надо. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 07:49 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Всё прочитал, на всё отвечу чуть позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 11:56 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Пока могу вот на это ответить: WebPrjСтолько написали всего, а про запись в потоках промолчали. У меня данные в SQL-сервере. И это у меня не первый случай, когда в него пишут разные треды, без всякой синхронизации между собой (например, из-под IIS). Никогда проблем не было, SQL-сервер все конфликты разруливает сам. В чем проблема в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 12:00 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Класс над records в виде table не потокобезопасный. И цикл фореч тоже. Поэтому советовал перелить данные из базы в коллекцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 12:08 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
WebPrjВладимир Саныч, Класс над records в виде table не потокобезопасный. И цикл фореч тоже. Поэтому советовал перелить данные из базы в коллекцию. Насколько я понял у Владимир Саныча в данной задаче нет конфликтов между потоками, так что потокобезопасность его не волнует. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 14:22 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Cat2, Согласен. Всегда так. Если самому следить что второй поток не пойдет, то и синхронизация не нужна как класс. А вот если строить индекс и так далее, то получим райзе. Ему решать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 14:34 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Petro123А вот если строить индекс и так далее, то получим райзе. Слово райзе не понял, и про "строить индекс" тоже не понял. На всякий случай: добавления записей в таблицу у меня нет, есть проход по существующим и апдейт по одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 17:48 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычСлово райзе видимо "raise exception" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 17:52 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Ну, просто пробуйте. У меня было райзе..... Недопустимая операция в нескольких потоках.... Я не знаю, насколько устойчивый код вы пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:07 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ИзопропилВладимир СанычСлово райзе видимо "raise exception" Спасибо. Я еще не на всё могу ответить, но пока что понял, что надо менять концепцию. В отдельный поток пойдет не обработка одной записи, а цикл, который идет по некоторой части записей (которая отбирается через where). Тогда я сам могу задавать количество потоков, бегущих параллельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:11 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, +1 Еще лучше будет при отдельном коннекте в поток. Тогда будет изолированы через разные транзакции. Но это если не переделка) проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:38 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Petro123Еще лучше будет при отдельном коннекте в поток. Тогда будет изолированы через разные транзакции. Но это если не переделка) проекта. зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:52 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Да, коннекты тоже разделил. Сейчас проблема следующая: делаю цикл For i = 0 To 4 и в нем как ни пишу - не удается сделать, чтобы каждый поток бежал со своим i (по которому фильтруются записи из таблицы для каждого потока). Цикл вроде проходит по i, а потом потоки начинают бежать и берут то значение i, которое оказалось уже после выхода из цикла. Код выглядит примерно так: Код: vbnet 1. 2. 3. 4. 5.
Пытался делать объекты, коллекции, но от этого только код усложняется, а решение не приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:53 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, https://habr.com/post/141270/ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 18:59 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Каждой записи поток Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Цикл внутрь потока Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:27 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
buserВладимир Саныч, https://habr.com/post/141270/ Спасибо, теперь я знаю, что это не баг, а фича. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:28 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Petro123Цикл внутрь потока Цикл по записям у меня сейчас внутри потока. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:30 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычPetro123Цикл внутрь потока Цикл по записям у меня сейчас внутри потока.ну, значит работает? А как из одного сделать два или три цикла надо профи спросить. То ли ридером с where date=.... То ли пропускать в цикле самом. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:36 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
В общем, пока сделал без цикла, просто тупо размножил код 5 раз. Будет проблема, когда захочу сделать не 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:39 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычВ общем, пока сделал без цикла, просто тупо размножил код 5 раз. Будет проблема, когда захочу сделать не 5.ты замерь для интереса одним потоком и пятью. Есть разница? Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:42 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Petro123ты замерь для интереса одним потоком и пятью. Есть разница? Как раз сейчас замерял. Пятью быстрее, чем одним, хотя и всего раза в 2-3. А вот десятью уже не быстрее, чем пятью. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 19:48 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычPetro123ты замерь для интереса одним потоком и пятью. Есть разница? Как раз сейчас замерял. Пятью быстрее, чем одним, хотя и всего раза в 2-3. А вот десятью уже не быстрее, чем пятью.так и должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 20:16 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Тогда скорее всего так 5 и останется, и тогда не так уж нужен цикл. Но выглядит ужасно некрасиво... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 22:44 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычНо выглядит ужасно некрасиво...приведи код напишем красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 22:53 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Сейчас это выглядит так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:13 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Забыл строчку: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:21 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
а что мешает создавать SomeRecord внутри таска, а не снаружи? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:23 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Пробовал вот так, но не идет - не знаю почему и лень разбираться. Выдает всякие ошибки на апдейте таблицы. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:29 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Roman Mejtesа что мешает создавать SomeRecord внутри таска, а не снаружи? :) Мешает то, что параметр цикла неправильно передается внутрь таска. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:30 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычСейчас это выглядит так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Вполне нормально. Тут не шарп и нет коллекций. Если циклом, то нелогично так как зависимость нелинейная. Забей. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:38 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Petro123зависимость нелинейная. Где? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:52 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычPetro123зависимость нелинейная. Где? В скорости выполнения. Сам давал тесты. Она нелинейная при увеличении потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:54 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Если записей станет больше, то не цикл будет, а логику надо будет менять ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:55 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Ну и весь код уложился в экран. Тоже хорошо) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:56 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Ну ОК. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 11:57 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, попробуй так For Each o In oo var b = o; tt.Add(Task.Factory.StartNew(Sub() b.RunAll() End Sub)) Next ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 14:29 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ViPRosВладимир Саныч, попробуй так For Each o In oo var b = o; tt.Add(Task.Factory.StartNew(Sub() b.RunAll() End Sub)) Next Ошибок не выдает, но бегут де-факто только 2 из 5 тасков. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 15:26 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, как это? на троих что ли соображают остальные? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 15:36 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Я не знаю что ты там делаешь, но суть в том, что каждому потоку надо гарантированно подсовывать уникальный объект. Когда ты крутишься в цикле замыкание сует потокам объект сформированный на тот момент (и возможно несколько потоков будут работать с одним и тем же объектом). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 15:40 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ViPRosВладимир Саныч, как это? на троих что ли соображают остальные? Я вижу, какие из записей в таблице обрабатываются. Возможно, бегут все, но обрабатываются только 2 из 5 групп записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 17:23 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, надо что бы "b" было уникальным. типа DataRow b = o.Copy(); ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2018, 17:33 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
зачем такие сложности... Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 00:35 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
На Винде не уметь запускать таски??? Вот на ДОС-е их было забавно запускать=) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 01:18 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ViPRoso.Copy(); Не проходит компиляцию. Изопропилзачем такие сложности... Код: c# 1. 2. 3. 4. 5.
У меня программа на VB. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 13:35 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Счас скажет: "и зачем такие сложности?"))) "Оговорка по Фрейду...)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 14:21 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычУ меня программа на VB. http://converter.telerik.com/ ну не популярен vb.net в наших краях Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 14:39 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
О, так этот код пускает в каждый поток по одной записи. Я от этого уже давно отказался. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:43 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, тебе же написали maxThreads ставь maxThreads = 4 и будет у тебя 4 потока (если повезет) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 13:15 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Я отказался от идеи запускать записи по одной в поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 17:19 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычЯ отказался от идеи запускать записи по одной в поток. Partitioner прикрути ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 17:26 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Посыпаю голову пеплом. Последний вариант работает. Благодарю всех! ИзопропилPartitioner прикрути А что это и зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 17:59 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Вспомнил, что остался еще один неотвеченный вопрос: Владимир СанычИ еще вопрос. Локальные переменные, описанные в этой вызываемой асинхронно процедуре, у каждого вызова свои? Мне кажется, что одни и те же и разные вызовы затирают их друг другу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 18:31 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, свои ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 18:40 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычПосыпаю голову пеплом. Последний вариант работает. Благодарю всех! ИзопропилPartitioner прикрути А что это и зачем?чтоб группу записей в потоке обрабатывать Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
или Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 18:48 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
ViPRosсвои Thanx. Изопропилчтоб группу записей в потоке обрабатывать Не понимаю, что делает этот код. Какая именно группа записей попадает в один поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 22:31 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, в первом случае записи из диапазона 0 .. dt.Rows.Count -1 разбитом на поддиапазоны по dt.Rows.Count/maxThreads записей втором - извлекаемые из таблицы по мере обработки (вызовов DoIt), динамическая группа ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 00:50 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Изопропилизвлекаемые из таблицы по мере обработки (вызовов DoIt), динамическая группа А! Да, так лучше, конечно. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2018, 12:23 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Только оно не едет. Скопировал к себе второй из двух вариантов, получил: Overload resolution failed because no accessible 'ForEach' can be called with these arguments Думаю, что не нужно продолжать, работающая версия у меня уже есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2018, 12:39 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2018, 18:24 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Увы, всё по-прежнему: Владимир СанычOverload resolution failed because no accessible 'ForEach' can be called with these arguments Думаю, что не нужно продолжать, работающая версия у меня уже есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 10:58 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, дело принципа уже )) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 12:54 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Интересно. Если я открываю прямо этот проект, то ошибок нет. Даже при том, что я при открывании поменял .Net с 4.6.1 на мой 4.5.2. Если же я копирую код в мой проект, то опять получаю ту же ошибку (два раза: на run и на run1). Если я в обоих проектах ставлю мышку на Parallel и жму Go To Definition, получаю одну и ту же страничку с такой начальной частью: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 11:32 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
И что интересно - я в своем проекте был вынужден добавить строчку Imports System.Collections.Concurrent а в твоем проекте всё работает и без нее. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 11:35 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир СанычИ что интересно Микрософт - загадочная страна ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 22:21 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Владимир Саныч, Ты хотя бы попробовал то, как я в начале предложил? Иди так и продолжаешь возится с await-asinc? Это же практически "сахар" синтаксический над Тасками ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 22:28 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Я и ВС давно знакомы. Он и я имеют привилегию друг-друга на Ты называть. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 22:30 |
|
Прошу научить запускать таски на VB.NET
|
|||
---|---|---|---|
#18+
Cat2Владимир Саныч, Ты хотя бы попробовал то, как я в начале предложил? Давно! Вот моя реакция: 21759466 Но эту проблему потом решили. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 11:42 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399127]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
118ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 522ms |
0 / 0 |