summaryrefslogtreecommitdiffstats
path: root/src/corelib/concurrent/qtconcurrentreducekernel.h
diff options
context:
space:
mode:
authorAlexis Menard <alexis.menard@nokia.com>2009-05-12 12:45:32 (GMT)
committerAlexis Menard <alexis.menard@nokia.com>2009-05-12 12:45:32 (GMT)
commit1898c46452beae9e28cf9be7851099b4b4d2779e (patch)
tree00477e689bf1bd867fb3428476029b47817a9db8 /src/corelib/concurrent/qtconcurrentreducekernel.h
parentf15b8a83e2e51955776a3f07cb85ebfc342dd8ef (diff)
parent4d5a5149b716c67f031a3a40e23370f90542c92f (diff)
downloadQt-1898c46452beae9e28cf9be7851099b4b4d2779e.zip
Qt-1898c46452beae9e28cf9be7851099b4b4d2779e.tar.gz
Qt-1898c46452beae9e28cf9be7851099b4b4d2779e.tar.bz2
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into kinetic-statemachine
Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
Diffstat (limited to 'src/corelib/concurrent/qtconcurrentreducekernel.h')
-rw-r--r--src/corelib/concurrent/qtconcurrentreducekernel.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/concurrent/qtconcurrentreducekernel.h b/src/corelib/concurrent/qtconcurrentreducekernel.h
index e863b63..2dad519 100644
--- a/src/corelib/concurrent/qtconcurrentreducekernel.h
+++ b/src/corelib/concurrent/qtconcurrentreducekernel.h
@@ -51,6 +51,7 @@
#include <QtCore/qmap.h>
#include <QtCore/qmutex.h>
#include <QtCore/qthread.h>
+#include <QtCore/qthreadpool.h>
#include <QtCore/qvector.h>
QT_BEGIN_HEADER
@@ -107,7 +108,7 @@ class ReduceKernel
const ReduceOptions reduceOptions;
QMutex mutex;
- int progress, resultsMapSize;
+ int progress, resultsMapSize, threadCount;
ResultsMap resultsMap;
bool canReduce(int begin) const
@@ -140,7 +141,8 @@ class ReduceKernel
public:
ReduceKernel(ReduceOptions _reduceOptions)
- : reduceOptions(_reduceOptions), progress(0), resultsMapSize(0)
+ : reduceOptions(_reduceOptions), progress(0), resultsMapSize(0),
+ threadCount(QThreadPool::globalInstance()->maxThreadCount())
{ }
void runReduce(ReduceFunctor &reduce,
@@ -210,12 +212,12 @@ public:
inline bool shouldThrottle()
{
- return (resultsMapSize > (ReduceQueueThrottleLimit * QThread::idealThreadCount()));
+ return (resultsMapSize > (ReduceQueueThrottleLimit * threadCount));
}
inline bool shouldStartThread()
{
- return (resultsMapSize <= (ReduceQueueStartLimit * QThread::idealThreadCount()));
+ return (resultsMapSize <= (ReduceQueueStartLimit * threadCount));
}
};