|
Прошу научить запускать таски на 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 |
|
|
start [/forum/topic.php?fid=20&msg=39745215&tid=1399127]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 160ms |
0 / 0 |