Qt 之 Concurrent Map 和 Map-Reduce

Qt并发编程:Concurrent Map与Map-Reduce
本文详细介绍了QtConcurrent的Concurrent Map和Map-Reduce功能,包括QtConcurrent::map()、QtConcurrent::mapped()和QtConcurrent::mappedReduced()的用法。这些函数用于对序列中的元素并行计算,支持就地修改、返回新序列以及合并结果。文章还涵盖了使用迭代器、成员函数、函数对象以及绑定函数参数的示例。

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

QtConcurrent::map()、QtConcurrent::mapped() 和 QtConcurrent::mappedReduced() 函数对一个序列中(例如:QList、QVector)的项目并行地进行计算。QtConcurrent::map() 就地修改一个序列,QtConcurrent::mapped() 返回一个包含修改内容的新序列,QtConcurrent::mappedReduced() 返回一个单一的结果。

这些函数是 Qt之Concurrent框架 的一部分。

上述的每个函数都有一个 blocking 变量,其返回的是最终结果,而不是一个 QFuture。可以用和异步变量同样的方式来使用它们。

QList<QImage> images = ...;

// 每次调用都会被阻塞,直到整个操作完成
QList<QImage> future = QtConcurrent::blockingMapped(images, scaled);

QtConcurrent::blockingMap(images, scale);

QImage collag
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一去丶二三里

有收获,再打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值