摘要: Qt 提供了 QtConcurrent 模块,处理一些常见的并行计算,最大的特点就是无需再使用互斥锁这种很低级的操作,全都封装好了。除此以外,QFuture、QFutureWatcher、QFutureSynchronizer 类提供了一些辅助性的操作。参考:Qt 中的多线程技术 - 知乎 (zhi 阅读全文
posted @ 2023-12-09 19:17 夕西行 阅读(2881) 评论(0) 推荐(0) 编辑
摘要: 比如QVector中所有元素+1,可以用并行计算。 QtConcurrent::map():将一个函数应用于一个容器中的每一项,就地修改 items。 void add(int &num) { num +=1; } { QVector<int> vector; for(int i=0; i<3; i 阅读全文
posted @ 2023-12-09 13:35 夕西行 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 【同步、异步】 同步意味着事件、操作或进程是有序的,一个操作必须在另一个操作完成后开始执行。当多线程时通过锁、信号量等机制来确保数据一致性或避免竞争条件。 异步则意味着事件、操作或进程是独立的,可以在不等待其他操作完成的情况下开始执行。一定是多线程。 参考:理清概念:同步与异步_同步异步-CSDN博 阅读全文
posted @ 2023-12-09 10:17 夕西行 阅读(390) 评论(0) 推荐(0) 编辑