扫码关注官方订阅号
比如说JAVA吧!JAVA是有多线程的。 既然有了多线程,为什么还需要队列这个东西呢? 比如发邮件吧! 直接新开一个线程发邮件不就行了。为什么要放到(异步)队列里面呢?
线程有瓶颈,队列可以先屯着慢慢处理。
为了缓冲,比如你提交的请求并不是平稳的时候,可以通过队列有一个缓冲,这样数据可以被先积压到队列中
多线程与队列不是一回事情 多线程是不稳定的。
线程
需要考虑内存安全的问题, 调度等诸多问题, 相对来说更不可控.
队列
执行频度, 次序都是在可控范围内的, 太适合作缓冲区了~
等你需要在内存里放几十个g的数据的时候,你就知道了
你学操作系统的时候,是不是学了一个生产者消费者模式,生产者产生产品放入队列,消费者从队列中读取数据进行消费。为啥把生产和消费这两个动作放到两个线程中呢?明白这个道理,就明白为啥用队列了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
线程有瓶颈,队列可以先屯着慢慢处理。
为了缓冲,比如你提交的请求并不是平稳的时候,可以通过队列有一个缓冲,这样数据可以被先积压到队列中
多线程与队列不是一回事情
多线程是不稳定的。
需要考虑内存安全的问题, 调度等诸多问题, 相对来说更不可控.
执行频度, 次序都是在可控范围内的, 太适合作缓冲区了~
等你需要在内存里放几十个g的数据的时候,你就知道了
你学操作系统的时候,是不是学了一个生产者消费者模式,生产者产生产品放入队列,消费者从队列中读取数据进行消费。为啥把生产和消费这两个动作放到两个线程中呢?明白这个道理,就明白为啥用队列了。