Unsolved qtconcurrent cancel without leak memory
-
Hi,
I create some resources with new command in heavy job and I want to cancel it. Is it possible to delete the pointer only if it was alocate?
future_ = QtConcurrent::run(this, &Class::foo); Class::foo() { int* bar = new int; sleep(1000); } Q_SLOT: void cancel_button(){ future_.cancel(); }
Regards,
Robin -
Hi,
AFAIK you cannot cancelQtConcurrent::run
anyway, usingfuture_.cancel()
.You can cancel only QtConcurrent computations that work on a container handling each of its members in a separate thread, as to cancel in QtConcurrent means to start no new threads anymore. It does not mean to stop already running threads.
-Michael. -
Thank you for your reply. My button cancel unrun job and wait for running thread.
Robin