消息队列 == 线程池 ? true : false

问题描述

消息队列 == 线程池 ? true : false

请问一下,消息队列是否和线程池相同,在看handler的详解时有点晕,弄不清,消息队列和线程池具体的功能了,请哪位大哥帮小弟,捋一捋,谢了!

解决方案

消息队列和线程池完全不同,消息队列通常是属于系统或者某个对象的,而线程池则是一种组织线程的手段,你可以写自己的线程调度算法来完成你的任务。所以两者是不同的东西。

解决方案二:

完全不同的东西,消息队列用于处理消息机制;线程池用于处理短期线程的业务

时间: 2024-09-20 05:28:24

消息队列 == 线程池 ? true : false的相关文章

MySQL的线程池原理学习教程_Mysql

线程池是Mysql5.6的一个核心功能,对于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题.当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导致资源利用率低,降低了服务质量.线程池是一种通用的技术,通过预先创建一定数量的线程,当有请求达到时,线程池分配一个线程提供服务,请求结束后,该线程又去服务其他请求. 通过这种方式,避免了线程和内存对象的频繁创建和释放,降低了服务端的并发度,减少了上下文切换和资源的竞争,提高资源利用效率.所有服务的线程池本质都是位

android异步图片加载之handler+线程池+消息队列模式+缓存

http://blog.csdn.net/soesa/article/details/7787922 假象现在有这样一个需求:       一个微博客户端或者多媒体客户端需要从服务端拉取一些数据,该数据中包含了很多图片,如果不用异步加载方式,可能会使主线程阻塞导致ANR异常,但是异步加载后如果每次都通过网络去下载图片,性能上会差很多,而且也会浪费流量,导致用户的不满,故现在增加一个缓存用来存储图片,缓存中包含内存存储和sdcard存储.先从缓存中去,在缓存中先从内存中取出,如果内存中没有再从sd

android异步图片加载三之handler+线程池+消息队列模式+缓存

http://blog.csdn.net/soesa/article/details/7787922 假象现在有这样一个需求:       一个微博客户端或者多媒体客户端需要从服务端拉取一些数据,该数据中包含了很多图片,如果不用异步加载方式,可能会使主线程阻塞导致ANR异常,但是异步加载后如果每次都通过网络去下载图片,性能上会差很多,而且也会浪费流量,导致用户的不满,故现在增加一个缓存用来存储图片,缓存中包含内存存储和sdcard存储.先从缓存中去,在缓存中先从内存中取出,如果内存中没有再从sd

深入浅出Win32多线程设计之MFC的多线程-线程与消息队列(经典)

1.创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数.该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程. 工作者线程 CWinThread *AfxBeginThread( AFX_THREADPROC pfnThreadProc, //控制函数 LPVOID pParam, //传递给控制函数的参数 int nPriority = THREAD_PRIORITY_NORMAL, //线程的优先级 UINT nStackSize =

细说UI线程和Windows消息队列(经典)

 在Windows应用程序中,窗体是由一种称为"UI线程(User Interface Thread)"的特殊类型的线程创建的. 首先,UI线程是一种"线程",所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID. 其次,"UI线程"又是"特殊"的,这是因为UI线程的线程函数中会创建一种特殊的对象--窗体,同时,还一并负责创建窗体上的各种控件. 窗体和控件大家都很熟悉了,这些对象具有接收用户操作的功能,它们是

Handler详解系列(三)——在子线程中给主线程的消息队列发送消息

MainActivity如下: package cc.c; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.w

java concurrent包自带线程池和队列详细讲解

Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的.在jdk1.5之后这一情况有了很大的改观.Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用.为我们在开发中处理线程的问题提供了非常大的帮助.二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量.     根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果:少了浪费了系统资

细说UI线程和Windows消息队列

在Windows应用程序中,窗体是由一种称为"UI线程(User Interface Thread)"的特殊类型的线程创建的. 首先,UI线程是一种"线程",所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID. 其次,"UI线程"又是"特殊"的,这是因为UI线程的线程函数中会创建一种特殊的对象--窗体,同时,还一并负责创建窗体上的各种控件. 窗体和控件大家都很熟悉了,这些对象具有接收用户操作的功能,它们是用

线程-linux下消息队列, 如何在满足某种条件下将队列清空?

问题描述 linux下消息队列, 如何在满足某种条件下将队列清空? 操作系统课上一个作业, 要求是用消息队列来实现某些功能 已知消息队列的特性 : 可以多个进程接受相同消息, 可知队列中的消息是不会消失的 目前所想的是用3个进程, 每个进程都有2个线程 1: 将消息发送到消息队列, 用while(1)不断等待读入 2: 从消息队列中接收消息, 用while(1)不断读取消息队列 如此类似一个群聊的功能 问题是 : 当某个进程送入消息, 3个进程都读取完毕后, 如何将队列中的消息清空? 而不是持续