资源简介
Qt 多线程及简单实例 demo。
多线程的几大特点:
1.多线程的执行顺序无法保证,与操作系统的调度策略和线程优先级等因素有关。
2.多线程的切换可能发生在任何时刻、任何地点。
3.多线程对代码的敏感度高,因此对代码的细微修改都可能产生意想不到的效果。
先由一个简单的例子引出多线程
先作出这个简单的界面
“开始”对应的槽函数是:slotStart()
“停止”对应的槽函数是:slotStop()
本例中的线程(workthread类)实现的功能是,从0到9循环打印,0至9各占一排。
则该线程的具体实现详见demo。
demo环境为qt5.9 64位

代码片段和文件信息
/****************************************************************************
** meta object code from reading C++ file ‘widget.h‘
**
** Created by: The Qt meta object Compiler version 67 (Qt 5.9.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include “../../threadSecond/widget.h“
#include
#include tatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error “The header file ‘widget.h‘ doesn‘t include ject>.“
#elif Q_MOC_OUTPUT_REVISION != 67
#error “This file was generated using the moc from 5.9.0. It“
#error “cannot be used with the include files from this version of Qt.“
#error “(The moc has changed too much.)“
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_Widget_t {
QByteArrayData data[4];
char stringdata0[27];
};
#define QT_MOC_LITERAL(idx ofs len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len \
qptrdiff(offsetof(qt_meta_stringdata_Widget_t stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_Widget_t qt_meta_stringdata_Widget = {
{
QT_MOC_LITERAL(0 0 6) // “Widget“
QT_MOC_LITERAL(1 7 9) // “slotStart“
QT_MOC_LITERAL(2 17 0) // ““
QT_MOC_LITERAL(3 18 8) // “slotStop“
}
“Widget\0slotStart\0\0slotStop“
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_Widget[] = {
// content:
7 // revision
0 // classname
0 0 // classinfo
2 14 // methods
0 0 // properties
0 0 // enums/sets
0 0 // constructors
0 // flags
0 // signalCount
// slots: name argc parameters tag flags
1 0 24 2 0x08 /* Private */
3 0 25 2 0x08 /* Private */
// slots: parameters
QmetaType::Void
QmetaType::Void
0 // eod
};
void Widget::qt_static_metacall(Qobject *_o Qmetaobject::Call _c int _id void **_a)
{
if (_c == Qmetaobject::InvokemetaMethod) {
Widget *_t = static_cast(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->slotStart(); break;
case 1: _t->slotStop(); break;
default: ;
}
}
Q_UNUSED(_a);
}
const Qmetaobject Widget::staticmetaobject = {
{ &QWidget::staticmetaobject qt_meta_stringdata_Widget.data
qt_meta_data_Widget qt_static_metacall nullptr nullptr}
};
const Qmetaobject *Widget::metaobject() const
{
return Qobject::d_ptr->metaobject ? Qobject::d_ptr->dynamicmetaobject() : &staticmetaobject;
}
void *Widget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname qt_meta_stringdata_Widget.stringdata0))
return static_cast(const_cast< Widget*>(this));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1216 2019-03-07 16:29 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\.qmake.stash
文件 66072 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\main.obj
文件 250 2019-03-07 16:30 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\moc_predefs.h
文件 3566 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\moc_widget.cpp
文件 59200 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\moc_widget.obj
文件 2738 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\moc_WorkThread.cpp
文件 49171 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\moc_WorkThread.obj
文件 76800 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\threadSecond.exe
文件 896904 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\threadSecond.ilk
文件 2166784 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\threadSecond.pdb
文件 1552384 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\threadSecond.vc.pdb
文件 138775 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\widget.obj
文件 63100 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\WorkThread.obj
文件 30627 2019-03-07 17:01 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\Makefile
文件 51805 2019-03-07 17:01 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\Makefile.Debug
文件 51829 2019-03-07 17:01 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\Makefile.Release
文件 2439 2019-03-07 16:44 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\ui_widget.h
文件 175 2019-03-07 16:29 threadSecond\threadSecond\main.cpp
文件 1087 2019-03-07 16:46 threadSecond\threadSecond\threadSecond.pro
文件 24004 2019-03-07 16:30 threadSecond\threadSecond\threadSecond.pro.user
文件 970 2019-03-07 16:55 threadSecond\threadSecond\widget.cpp
文件 403 2019-03-07 16:56 threadSecond\threadSecond\widget.h
文件 1542 2019-03-07 16:43 threadSecond\threadSecond\widget.ui
文件 244 2019-03-07 16:49 threadSecond\threadSecond\WorkThread.cpp
文件 226 2019-03-07 17:13 threadSecond\threadSecond\WorkThread.h
目录 0 2019-03-07 17:13 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug
目录 0 2019-03-07 16:29 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\release
目录 0 2019-03-07 16:30 threadSecond\build-threadSecond-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug
目录 0 2019-03-07 17:13 threadSecond\threadSecond
目录 0 2019-03-07 16:29 threadSecond
............此处省略3个文件信息
相关资源
- 酒店管理系统基于Qt Creator5)
- 易语言播放器组件无缝转换(Demo2.e)
- cc2541 BLE DEMO
- stm32f030 IAP Demo(原创)
- 编写简单的RMI程序 多线程web 服务器
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- QT,JPEG解码源代码(已完成)
- 多线程生产者消费者模式
- CListCtrlExDemo.rar
- Qt 播放音频文件
- 多线程实例:桌面智能弹球小游戏
- Qt 读取16进制的data文件
- WPF多线程演示
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- 易语言:多线程传多变量的最稳定方
- 易语言-海康威视SDK-DEMO
- ssm框架登录注册demo
- RK3399 DEMO官方原厂 PCB 原理图以及周边
- MQTT推送Demo
- 微信小程序驾照考试题库demo完整
评论
共有 条评论