首页| 论坛| 消息

标题:Qt线程池处理消息队列
作者:lwei24
日期:2021-02-25 15:06
内容:

各位大佬,请问Qt怎么实现一个线程池处理多个消息队列?


#1 [fsx92 02-25 16:53]
你可以把需求说的更明确一些,这里要考虑每一项任务的负载,尽量做到均衡。简单的话你可以设置一个监测的线程和若干工作线程,监测线程轮询多个消息队列,发现有消息后就从线程池中取出一个空闲线程去处理。
#2 [liudianwu 02-25 19:34]
放入队列挨个取出处理就行
#3 [九重水 02-26 10:10]
楼上2位已经大致说清楚了,我再打个比方。
假设有一个包工头(监测线程),他手底下有10个打工人(工作线程),假设名字分别为李世民1号,李世民2号……李世民10号。
当包工头接到一个活,说需要建国打天下,于是包工头叫李世民1号带兵出去打仗建国;
当包工头又接到一个活,说要治理天下,于是包工头叫李世民2号去御书房批奏折去了;
当包工头再接到一个活,要微服私巡,于是包工头叫李世民3号穿着乞丐的衣服去也……
#4 回 fsx92 的帖子 [lwei24 02-26 16:52]
fsx92:你可以把需求说的更明确一些,这里要考虑每一项任务的负载,尽量做到均衡。简单的话你可以设置一个监测的线程和若干工作线程,监测线程轮询多个消息队列,发现有消息后就从线程池中取出一个空闲线程去处理。 (2021-02-25 16:53) 
哦哦,多谢你的意见。其实,需求就是有一个消息队列,这个消息队列有两个小任务。我再使用线程处理消息队列的任务时,感觉线程池和线程好像没有关联起来。。。。
#5 回 liudianwu 的帖子 [lwei24 02-26 16:54]
liudianwu:放入队列挨个取出处理就行 (2021-02-25 19:34) 
目前我是这样做的。还在考虑看有什么其他办法吗?想把线程池和消息队列一起使用上……

<< 1 2 >> (1/2)

回复 发表
主题 版块