|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
есть функция Код: 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.
запускаю в отдельном потоке Код: c# 1.
И все виснет. Тут по идее должно быть что то близкое к секунде Код: c# 1. 2. 3.
на самом деле в разы больше. и текст RichTextBoxNetReceive печатается с опозданием и сразу несколько строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2021, 17:13 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Так ты же Thread.Sleep выполняешь в потоке GUI - чего б ему не виснуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2021, 19:09 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
jenya7, тот кто использует таски - орёл, а тот кто использует трэды - баклан ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 03:52 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Shocker.Pro Так ты же Thread.Sleep выполняешь в потоке GUI - чего б ему не виснуть? а как мне подождать готовности данных? можно выполнить Sleep в этом потоке? я могу поставить в while Application.DoEvents() и тогда все в порядке но это решение так себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 09:32 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
pation jenya7, тот кто использует таски - орёл, а тот кто использует трэды - баклан с таском такая же ситуация ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 09:35 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Зачем ты вообще выполняешь цикл ожидания в Invoke? Ты с тем же успехом можешь выполнять вот этот же код без всякого Task.Run(() => Discover()); - будет абсолютно то же самое ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 09:43 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Ты смысл Invoke в принципе понимаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 09:43 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Shocker.Pro Зачем ты вообще выполняешь цикл ожидания в Invoke? Ты с тем же успехом можешь выполнять вот этот же код без всякого Task.Run(() => Discover()); - будет абсолютно то же самое без Invoke при обращении к GUI - RichTextBoxNetReceive.AppendText("ID " + i.ToString() + " timeout\n"); я получаю - cross thread exception а как без while? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 09:56 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
jenya7 без Invoke при обращении к GUI ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 10:02 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Shocker.Pro jenya7 без Invoke при обращении к GUI в GUI я только высвечиваю сообщения. не ждать же окончания таска а потом вывалить все сообщения в GUI. может так - вместо while Код: c# 1.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 10:09 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
мда. чтож это получается - Thread.Sleep(1); всегда выполнится в потоке GUI? нельзя это делать в другом потоке? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 10:26 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
jenya7 в GUI я только высвечиваю сообщения. jenya7 Thread.Sleep(1); всегда выполнится в потоке GUI? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 11:43 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Task.Delay, в чем проблема? Есть еще Dispatcher.Yeald, как вариант, чтоб вернуться в контекст синхронизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 22:54 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Roman Mejtes Task.Delay, в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2021, 23:46 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
Shocker.Pro Roman Mejtes Task.Delay, в чем проблема? сделал так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
ничего не изменилось. единственное решение которое я смог придумать Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2021, 09:52 |
|
GUI поток виснет при запуске другого потока
|
|||
---|---|---|---|
#18+
jenya7, как у тебя вообще получается, что и soket-ы и UI находятся в одном проекте? я уж не говорю, что в одном классе и молчу о том, что даже в одном методе используй single responsibility и сразу поймёшь проблему и способы её решения ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 18:22 |
|
|
start [/forum/topic.php?fid=20&msg=40108751&tid=1398208]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 429ms |
0 / 0 |