Development of Multi-threaded applications
summary
Qt code shows a responsive QML Fibonacci demo using QFuture/QFutureWatcher and QtConcurrent.run to move slow computation off the UI thread. The talk builds a lock-free stack with QAtomic pointer and compares timings: push 900→600 ms and pop 700→400 ms on two cores. It explains the ABA problem and fixes (tagged pointers, hazard pointers, LL/SC), then dives into Qt5 QMutex internals: a QAtomic pointer states 0/1/or private, ref‑counted mutex privates pooled via a lock‑free stack, and tradeoffs vs. mutexes and threadpools.
AI-written summary · about
chapters (9)
- 0:00Introduction and background
- 1:53Threading in Qt overview
- 4:44Practical threading demo
- 14:06Lock-free programming basics
- 17:23Atomic API and data structures
- 24:40Lock-free performance analysis
- 31:42The ABA problem
- 36:41Qt 5 internal design
- 52:16Q&A and concluding remarks
related talks
58mMultithreading with Qt
01h 00mCreating multithreaded applications with Qt
01h 08mBetter Code: Concurrency
47m“Multithreading is the answer. What is the question? (part 1 of 2)”
59mAn Introduction to Multithreading in C++20
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
53mAtomics, Locks, and Tasks (part 1 of 2)
01h 07mThe C++20 Synchronization Library
