From 2171b057e3e6273ae065b2754acec26887ad5ddf Mon Sep 17 00:00:00 2001 From: Sze Howe Koh Date: Tue, 10 Sep 2013 21:08:01 +0800 Subject: [PATCH] Doc: Remove section about how to start threads - Incomplete: It doesn't talk about how to use a raw QThread, or QRunnable, or Qt Concurrent. - Redundant: Its contents are already presented in QThread's class ref, and the line before this section links to the "Multithreading Technologies in Qt" overview page which provides a more complete intro Also remove snippet markers that are no longer used. Change-Id: I89b7bd72f10c8ffdfd9b7772e2493050aafc9c88 Reviewed-by: Jerome Pasion Reviewed-by: Thiago Macieira --- .../threads/hellothread/hellothread.cpp | 3 -- .../threads/hellothread/hellothread.h | 5 +-- .../tutorials/threads/hellothread/main.cpp | 2 - src/corelib/doc/src/threads-basics.qdoc | 39 ++----------------- 4 files changed, 5 insertions(+), 44 deletions(-) diff --git a/examples/widgets/tutorials/threads/hellothread/hellothread.cpp b/examples/widgets/tutorials/threads/hellothread/hellothread.cpp index 4395b0cb2b6..1b5088e0db6 100644 --- a/examples/widgets/tutorials/threads/hellothread/hellothread.cpp +++ b/examples/widgets/tutorials/threads/hellothread/hellothread.cpp @@ -44,10 +44,7 @@ * demonstrates use of QThread, says hello in another thread and terminates */ -//! [1] -// hellothread/hellothread.cpp void HelloThread::run() { qDebug() << "hello from worker thread " << thread()->currentThreadId(); } -//! [1] diff --git a/examples/widgets/tutorials/threads/hellothread/hellothread.h b/examples/widgets/tutorials/threads/hellothread/hellothread.h index c2d8ad73eef..281f2c6cb57 100644 --- a/examples/widgets/tutorials/threads/hellothread/hellothread.h +++ b/examples/widgets/tutorials/threads/hellothread/hellothread.h @@ -42,13 +42,12 @@ #define HELLOTHREAD_H #include -//! [1] -// hellothread/hellothread.h + class HelloThread : public QThread { Q_OBJECT private: void run(); }; -//! [1] + #endif // HELLOTHREAD_H diff --git a/examples/widgets/tutorials/threads/hellothread/main.cpp b/examples/widgets/tutorials/threads/hellothread/main.cpp index 87660f97ee1..8b4b00874f7 100644 --- a/examples/widgets/tutorials/threads/hellothread/main.cpp +++ b/examples/widgets/tutorials/threads/hellothread/main.cpp @@ -41,7 +41,6 @@ #include #include "hellothread.h" -//! [1] int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); @@ -51,4 +50,3 @@ int main(int argc, char *argv[]) thread.wait(); // do not exit before the thread is completed! return 0; } -//! [1] diff --git a/src/corelib/doc/src/threads-basics.qdoc b/src/corelib/doc/src/threads-basics.qdoc index 353906f11ad..5a5c0032104 100644 --- a/src/corelib/doc/src/threads-basics.qdoc +++ b/src/corelib/doc/src/threads-basics.qdoc @@ -179,42 +179,9 @@ \section1 Qt Thread Basics - QThread is a very convenient cross platform abstraction of native platform - threads. Starting a thread is very simple. Let us look at a short piece of - code that generates another thread which says hello in that thread and then - exits. - - \snippet ../widgets/tutorials/threads/hellothread/hellothread.h 1 - - We derive a class from QThread and reimplement the \l{QThread::}{run()} - method. - - \snippet ../widgets/tutorials/threads/hellothread/hellothread.cpp 1 - - The run method contains the code that will be run in a separate thread. In - this example, a message containing the thread ID will be printed. - QThread::start() will call the method in another thread. - - \snippet ../widgets/tutorials/threads/hellothread/main.cpp 1 - - To start the thread, our thread object needs to be instantiated. The - \l{QThread::}{start()} method creates a new thread and calls the - reimplemented \l{QThread::}{run()} method in this new thread. Right after - \l{QThread::}{start()} is called, two program counters walk through the - program code. The main function starts with only the GUI thread running and - it should terminate with only the GUI thread running. Exiting the program - when another thread is still busy is a programming error, and therefore, - wait is called which blocks the calling thread until the - \l{QThread::}{run()} method has completed. - - This is the result of running the code: - - \code - //bad code - hello from GUI thread 3079423696 - hello from worker thread 3076111216 - \endcode - + The following sections describe how QObjects interact with threads, how + programs can safely access data from multiple threads, and how asynchronous + execution produces results without blocking a thread. \section2 QObject and Threads