The start() method of PySide6.QtCore.QThreadPool should also extract this code that Qt6 has:
void QThreadPool::start(std::function<void()> functionToRun, int priority) { if (!functionToRun) return; start(QRunnable::create(std::move(functionToRun)), priority); } and, of course bool QThreadPool::tryStart(std::function<void()> functionToRun) { if (!functionToRun) return false; Q_D(QThreadPool); QMutexLocker locker(&d->mutex); if (!d->allThreads.isEmpty() && d->activeThreadCount() >= d->maxThreadCount()) return false; QRunnable *runnable = QRunnable::create(std::move(functionToRun)); if (d->tryStart(runnable)) return true; delete runnable; return false; } The declarations are there in the C++ header file (qthreadpool.h) for both. I don't understand why isn't this extracted at PySide6 compile time. void start(std::function<void()> functionToRun, int priority = 0); bool tryStart(std::function<void()> functionToRun); So extract start() and tryStart(), please. This is so convenient. Not sure why you guys ignore this. The qthreadpool.cpp source code is here: https://github.com/qt/qtbase/blob/dev/src/corelib/thread/qthreadpool.cpp And the qthreadpool.h header file is here: https://github.com/qt/qtbase/blob/dev/src/corelib/thread/qthreadpool.h
_______________________________________________ PySide mailing list PySide@qt-project.org https://lists.qt-project.org/listinfo/pyside