diff options
author | Sze Howe Koh <szehowe.koh@gmail.com> | 2013-11-02 10:13:45 +0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-05 00:29:01 +0100 |
commit | 6b8e866391cf933f077756c8ad154683885ea07f (patch) | |
tree | 2f74f360f1b0cf6f1078c2f06a9a01d9aee324f9 /examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp | |
parent | a8351096dbe1b8c02bcae858fb03133a5dacffdd (diff) |
Doc: Clean up threading examples
- Example 3 (Clock) is a collection of anti-patterns.
- It implements a slot in a QThread subclass and then forces the new
thread to use Qt::DirectConnection to invoke the slot in the
"wrong" thread.
- It talks about getting away with non-thread-safe usage
- It uses a thread as a timer and then admits that it's an over-
complicated approach.
- Example 4 (Permanent Thread) is over-complicated yet incomplete. A
better one exists in the QThread class ref.
- Example 1 (Thread Pool) is covered by the QThreadPool class ref.
- Example 2 (QtConcurrent::run()) is covered in the "Threading and
Concurrent Programming Examples" page and the "QtConcurrentRun" page.
- The undocumented "Hello Thread" example is covered in the QThread
class ref.
- These examples cannot be accessed from Qt Creator's Examples tool.
- These examples are neither widget-related nor tutorials, contrary to
their source paths.
Task-number: QTBUG-33360
Change-Id: Ic79cb764ee925ddbcbeafee8e1d01db7fe0f6cfe
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Diffstat (limited to 'examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp')
-rw-r--r-- | examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp b/examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp deleted file mode 100644 index f904159fe4..0000000000 --- a/examples/widgets/tutorials/threads/hellothreadpool/hellothreadpool.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <QtCore> -// A hello world program to demonstrate the use of the global thread pool - -//! [1] -// hellothreadpool/main.cpp -class Work : public QRunnable -{ -public: - void run() - { - qDebug() << "Hello from thread " << QThread::currentThread(); - } -}; - -int main(int argc, char *argv[]) -{ - QCoreApplication app(argc, argv); - Work work; - work.setAutoDelete(false); - QThreadPool *threadPool = QThreadPool::globalInstance(); - threadPool->start(&work); - qDebug() << "hello from GUI thread " << QThread::currentThread(); - threadPool->waitForDone(); - return 0; -} -//! [1] |