|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
Привет всем! Собственно вопрос в сабже. вопрос возник от сюда Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Но вообще, стало просто интересно как это возможно... Заранее благодарю ЗЫ escape.Abort() - не просто устарел в .NET 5, а ошибку генерирует ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2021, 11:45 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
а еще можно на велеке тормозить засовывая ногу в спицы переднего колеса перед вилкой ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2021, 12:07 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
Ты что в итоге сделать-то хочешь? По коду у меня практически уверенность, что ты пытаешься забить гвоздь отверткой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2021, 12:33 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
fkfka Ты что в итоге сделать-то хочешь? По коду у меня практически уверенность, что ты пытаешься забить гвоздь отверткой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2021, 12:43 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
v skopin, Код: 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.
Идея понятна? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2021, 13:29 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
fkfka, Спасибо) -мой вар-нт сильно хуже))) Но а всё таки(по теме), хочу грохнуть Task, как? (допустим, закзчику не понравилось котрол-С) или (не мой в-нт) зависло всё, а таймаута нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 10:30 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
v skopin Но а всё таки(по теме), хочу грохнуть Task, как? В случае ReadKey ответ - никак. Это операция, которая намертво блокирует поток и прервать ее можно только грохнув сам поток, что ныне уже невозможно. Можно просто забить на этот поток - он сам грохнется при выходе. Например так: Код: 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. 42. 43. 44. 45. 46. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 12:33 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
v skopin, создайте отдельный исполняемый модуль, запускайте его как процесс в асинхронном таске, убейте процесс немедленно, если вам это так нужно, но потом не удивляйтесь, если ФС пойдет по детородному органу или еще чего непредвиденного случится ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 12:58 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
Roman Mejtes если ФС пойдет пойдет по детородному органу С какого органа ФС пойдет по органу при убивании пользовательского процесса? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 13:02 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
v skopin Привет всем! Собственно вопрос в сабже. вопрос возник от сюда Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Но вообще, стало просто интересно как это возможно... Заранее благодарю ЗЫ escape.Abort() - не просто устарел в .NET 5, а ошибку генерирует нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 21:53 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
v skopin, как уже сказали и сам MS пишет, метод Abort не поддерживается. Рекомендует создавать отдельный процесс его грохать при необходимости. Правда придётся немного подумать как передать в запускаемый процесс параметры (межпроцессное взаимодействие наладить). Сам вот мучаться буду скоро, перенося проект на .NET 5. Есть приложение-хост, которое компилирует пользовательский код с блекджеком и запускает на исполнение в таске. Но если пользователь ошибся и правильное не завершил метод или токен отмены не проверил, то хост может бесконечно долго тратить ресурс зря. Была кнопка прибить поток, теперь нет кнопки ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 23:03 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
VSVLAD Есть приложение-хост, которое компилирует пользовательский код с блекджеком и запускает на исполнение в таске. Но если пользователь ошибся и правильное не завершил метод или токен отмены не проверил, то хост может бесконечно долго тратить ресурс зря. Была кнопка прибить поток, теперь нет кнопки Сама по себе задумка давать пользователю запускать на сервере свой произвольный код на приз года совсем не тянет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2021, 23:25 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
fkfka, Увы, задачи такие приходят, что времни не напасешся под каждую делать опции в пользовательском интерфейсе. Сейчас продумываем другой подход, делать сценарий на более высоком уровне в виде блок-схем описанные в xml. Уже рабочий прототип есть в аналогичном решении, там можно почти полноценный Control Flow сделать и добавить свой блекджек ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 08:06 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
я обычно делаю так Код: c# 1. 2. 3. 4. 5. 6. 7.
а если надо завершить Код: c# 1. 2. 3. 4.
Мне кажется вполне себе решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 10:31 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
jenya7 Мне кажется вполне себе решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 10:33 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
Shocker.Pro jenya7 Мне кажется вполне себе решение. Процес при завершении выгрузиться не? Можно создать новый и не париться. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 10:54 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#18+
jenya7, в 2021 году люди используют CancellationToken'ы, таски вместо Thread'ов и другие ништяки. А это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 12:19 |
|
Всё таки можно как-то грохнуть Thread/Task без отмены?
|
|||
---|---|---|---|
#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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
может кому пригодится) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 17:02 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1398281]: |
0ms |
get settings: |
23ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get first new msg: |
73ms |
get forum data: |
3ms |
get page messages: |
359ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 884ms |
0 / 0 |