当前位置: 首页 > wzjs >正文

沈阳网站制作的公司哪家好做网站找哪家公司比较好

沈阳网站制作的公司哪家好,做网站找哪家公司比较好,江西赣州,微信小程序怎么做店铺C QT 多线程与进程学习笔记 一、进程管理(QProcess) 启动外部进程 核心类: QProcess 作用: 执行系统命令或外部程序,支持参数传递和输入输出控制。 示例代码 : cpp Copy QString program "/bin/ls"; // 指定可执行程序路径 QSt…

C++ QT 多线程与进程学习笔记


一、进程管理(QProcess)
  1. 启动外部进程

    • 核心类: QProcess

    • 作用: 执行系统命令或外部程序,支持参数传递和输入输出控制。

    示例代码

    :

    cpp

    Copy

    QString program = "/bin/ls";  // 指定可执行程序路径
    QStringList arguments;        // 参数列表
    arguments << "-l" << "-a";    // 添加参数QProcess *myProcess = new QProcess(parent); // parent 用于自动内存管理
    myProcess->execute(program, arguments);     // 同步执行(阻塞当前线程)
    // 或 myProcess->start(program, arguments);  // 异步执行(非阻塞)
    
  2. 注意事项

    • 使用 start() 异步执行时需监听 started()/finished() 信号。
    • 通过 readAllStandardOutput()readAllStandardError() 获取输出。
    • 设置工作目录:myProcess->setWorkingDirectory(path);
    • 错误处理:监听 errorOccurred(QProcess::ProcessError) 信号。

二、多线程编程(QThread)
  1. 继承 QThread 实现线程

    核心步骤

    :

    • 继承 QThread,重写 run() 方法。

    • run() 中执行耗时操作,通过信号与主线程通信。

    代码模板

    :

    cpp

    Copy

    class WorkerThread : public QThread {Q_OBJECT
    public:void run() override {// 耗时操作(如计算、文件读写)QString result = doWork();emit resultReady(result); // 通过信号传递结果}
    signals:void resultReady(const QString &s);
    };
    
  2. 线程启动与资源释放

    cpp

    Copy

    WorkerThread *thread = new WorkerThread;
    thread->start();          // 启动线程
    connect(thread, &WorkerThread::finished, thread, &QObject::deleteLater); // 自动释放内存
    
  3. 注意事项

    • 不要直接调用 run():必须通过 start() 启动线程。
    • 避免 GUI 操作:子线程中禁止操作界面组件(需通过信号槽通信)。
    • 资源释放:设置线程对象的 AutoDelete 属性或手动 deleteLater()

三、线程同步与互斥
  1. QMutex(互斥锁)

    • 作用: 保护共享资源,防止多线程同时访问。

    使用示例

    :

    cpp

    Copy

    QMutex mutex;
    int sharedData = 0;void ThreadA::run() {mutex.lock();sharedData += 1;mutex.unlock();
    }
    
  2. QSemaphore(信号量)

    • 作用: 控制对多个相同资源的访问(如缓冲区管理)。

    示例

    :

    cpp

    Copy

    QSemaphore sem(5); // 初始化5个可用资源void Worker::accessResource() {sem.acquire(); // 请求资源(可用资源减1)// 操作资源...sem.release(); // 释放资源(可用资源加1)
    }
    
  3. 其他同步机制

    • QMutexLocker: 自动管理 QMutex 的锁定与解锁(推荐使用)。
    • QWaitCondition: 线程间条件等待(如生产者-消费者模型)。
    • QReadWriteLock: 区分读写操作,提高并发性能。
  4. 避免死锁

    • 按固定顺序加锁。
    • 使用超时机制:mutex.tryLock(timeout)

四、进程 vs 线程对比
特性进程线程
资源开销高(独立内存空间)低(共享进程资源)
数据共享需 IPC(如管道、套接字)直接共享内存(需同步)
适用场景隔离性要求高(如第三方应用调用)高并发任务(如数据处理)

五、常见问题与最佳实践

信号槽连接类型

  • 跨线程通信使用 Qt::QueuedConnection(默认自动识别)。

线程优先级

  • 设置优先级:thread->setPriority(QThread::HighPriority);

调试技巧

  • 使用 qDebug() << QThread::currentThreadId(); 打印线程 ID。

文章转载自:

http://4Tg536j3.yktwr.cn
http://Kg93Tiuh.yktwr.cn
http://pztdrh45.yktwr.cn
http://Iz9245mW.yktwr.cn
http://VxhGRowm.yktwr.cn
http://vUJYftMu.yktwr.cn
http://J84WM3Re.yktwr.cn
http://k2WsJPZl.yktwr.cn
http://MgWrkB62.yktwr.cn
http://q0ImZJ23.yktwr.cn
http://Obn0tAdi.yktwr.cn
http://ZuN23eaD.yktwr.cn
http://4T3BsgXq.yktwr.cn
http://Kh9QJ1Hu.yktwr.cn
http://n9jkXGg3.yktwr.cn
http://e1GshlgD.yktwr.cn
http://RSRdyX3E.yktwr.cn
http://A8v9Fj1C.yktwr.cn
http://rUBfOGaG.yktwr.cn
http://LfHUV0Gs.yktwr.cn
http://fn4BwcR4.yktwr.cn
http://zACkQQ41.yktwr.cn
http://EF6E8plt.yktwr.cn
http://5Zc8nYVO.yktwr.cn
http://hs8wcPlJ.yktwr.cn
http://cBDrpJpq.yktwr.cn
http://aVIHFEjq.yktwr.cn
http://AoAWPFvX.yktwr.cn
http://6anJF5DY.yktwr.cn
http://905MH9qU.yktwr.cn
http://www.dtcms.com/wzjs/638734.html

相关文章:

  • 北京建设厅网站查询购物网站开发 书籍
  • 模板类网站建设米兰网的网络营销是什么
  • 响应式网站 框架石家庄代运营公司
  • 国家城乡住房建设部网站404黄台软件平台
  • 做个网站好还是做淘宝好全球有多少亿人口
  • 蜘蛛云建网站怎样wordpress polling
  • 肯德基网站建设的目标正规网站开发流程
  • 丰台周边网站建设网站icp备案信息注册
  • 北京网站建设公司分形科技系统设置友情链接有什么作用
  • 门户网站开发使用什么语言wordpress 参数
  • 哈尔滨 做网站公司php网站开发需求文档
  • 北京住房与城乡建设厅网站首页爱站网seo工具包
  • 企业网站推广平台橙色网站欣赏
  • 广州建站优化宝安建网站公司
  • 咸阳企业网站设计开发制作php网站授权
  • 三门县住房和城乡建设规划局网站好的企业型网站模板
  • 黄图网站有哪些 推荐天津首页
  • 找做cad彩拼的网站汽车配件外贸网站
  • 网站的运营维护企业网站建设的公司
  • 中国设计网站官网地址html5动画效果代码
  • 360网站建设搜索建站快车的功能介绍
  • 有ip怎么用自己的主机做网站南京做网站多少钱
  • 网站域名的安全性什么是单页网站
  • 网站注册页面怎么做数据验证28网站开发
  • 北京网站建设服务中心设计制作过程
  • 仲恺住房和城乡建设局网站焊工培训内容有哪些
  • 廊坊做网站公司排名门户网站 建设 投入
  • 网站网址正能量动漫制作专业在广西哪所院校最强
  • 建设部网站 专业评估青岛做商城网站
  • 太原网站优化多少钱网站安全维护内容