Wie wird die maximale Thread-Anzahl für QTConcurrent-Operationen festgelegt?

8

Ich führe eine QTConcurrent :: Map in einer Liste von Elementen aus, um einige Bildverarbeitungsaufgaben auszuführen. Dies funktioniert gut auf einer Maschine mit nur wenigen Threads, führt aber aufgrund der Speicheranforderungen meines Verarbeitungscodes zu Problemen auf Maschinen mit einer großen Anzahl von Threads.

Ist es möglich, die maximale Anzahl gleichzeitiger Threads für QTConcurrent-Operationen zu setzen, oder muss ich mit einem QThreadPool neu codieren, wo ich mehr Kontrolle habe?

Danke für irgendeinen Rat.

    
Richard Adams 15.07.2012, 16:53
quelle

1 Antwort

12

QtConcurrent::map verwendet den globalen Thread-Pool.

Sie können die Anzahl der Threads mit QThreadPool::globalInstance()->setMaxThreadCount(n) ändern.

    
alexisdm 15.07.2012, 17:19
quelle

Tags und Links