I have a cycle what iterate 4294967295 times ((quint32)-1). And i want use QtConcurrent for use both cores. But i need use QProgressDialog who change progress each 1% (42949672,95). One thread calculate range 0-2147483647, secons thread 2147483648-4294967295. So i need create signal like step() what i can emit from each thread on each percernt operation. I need also have feature uses Cancel button on QProgressDialog what will be stop both threads. Can you get me some advice how i can do this? I think i must create QObject's, declare bool flag like isCanceled what check inside for(){} and using QtConcurrent::run(). I can't use QtConcurrent::map becouse 4294967295*4= ~17Gb RAM excluding container overhead. And i think i can't use QEventLoop inside thread like in QThread::run(){exec()} for respond on signals from main thread, becouse i use QtConcurrent instead QThread.