9
如果我正確理解從QFutureWatcher文檔下面的代碼,再有就是最後之間的競爭條件,以線:如何使用與QtConcurrent一個QFutureWatcher :: run()的無競爭狀態
// Instantiate the objects and connect to the finished signal.
MyClass myObject;
QFutureWatcher<int> watcher;
connect(&watcher, SIGNAL(finished()), &myObject, SLOT(handleFinished()));
// Start the computation.
QFuture<int> future = QtConcurrent::run(...);
watcher.setFuture(future);
如果QtConcurrent::run(...)
中的功能...
在下一行被調用之前完成,那麼將永遠不會觸發watcher.finished()
信號。我的假設是否正確?我如何解決這個bug?