|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.04.2019, 17:00 | #1 |
Новичок
Джуниор
Регистрация: 26.12.2014
Сообщений: 1
|
Как остановить длительный процесс?
Коллеги, доброго времени суток!
Возникла следующая задача. Приложение запускает длительный вычислительный процесс (например, решение системы линейных алгебраических уравнений - СЛАУ), реализованный сторонней библиотекой. Программа написана на "чистом" С++ с использованием только стандартных библиотек. Для решения СЛАУ предполагается использование в том числе и сторонних библиотек (например, Eigen), которые не предоставляют никаких средств прерывания своих процедур. Как остановить длительный вычислительный процесс? Если запустить функцию расчета в отдельном std-потоке, то там вроде бы нет возможности его прерывания (он может закончиться только так сказать естественным путем). Как это выполнить практически, желательно стандартными средствами С++ (учитывая что предполагается реализация графического интерфейса для данной программы с наличием (естественно) кнопки прерывания расчета). Последний раз редактировалось SeregaGomen; 28.04.2019 в 19:22. |
04.05.2019, 17:53 | #2 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Хендл потока есть? Тогда TerminateThread.
|
04.05.2019, 18:04 | #3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Вместо потоков используйте процессы. Запускаете расчёт в отдельном процессе и убиваете процесс.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
05.05.2019, 10:16 | #4 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Зачем?
|
05.05.2019, 10:32 | #5 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
06.05.2019, 07:39 | #6 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
А как ты собрался организовать её утечку?
|
06.05.2019, 07:58 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
|
06.05.2019, 08:14 | #8 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
Во-первых даже если бы он и выделял память, то всё равно известно, где он это сделал. А во-вторых при решении СЛАУ только реализации методов, основанных на определителях, нуждаются в дополнительной памяти.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Остановить процесс созданный CreateProcess | Shouldercannon | Общие вопросы Delphi | 4 | 23.12.2017 19:22 |
Длительный ввод | bize | Microsoft Office Excel | 2 | 20.01.2013 00:49 |
Как остановить процесс | Volkogriz | Общие вопросы Delphi | 1 | 15.01.2009 10:40 |
Остановить процесс | Shurik Hacker | Win Api | 4 | 20.07.2007 08:05 |