生产者消费者模型:Kotlin 多线程读写文件实例
2023-09-14 09:07:22 时间
计算机科学中的所有问题,都可以通过添加一个间接层来解决。
生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。
在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,所以便有了生产者和消费者模式。
优点:
解耦,即降低生产者和消费者之间的依赖关系。
比如我们在修改消费者功能时,不需要考
相关文章
- 【全套】Android架构师进阶学习教程(性能优化、Kotlin、Flutter、微信小程序...)
- 【Kotlin】史上超强二合一,Kotlin从入门到精通+高级Kotlin强化实战(附Demo)
- Android kotlin 系列讲解(基础篇) 关键字:constructor(this/super)
- 猿创征文|Android kotlin实现动态更换应用图标和名称
- 【Kotlin 协程】Flow 操作符 ② ( 末端操作符 | collect 操作符 | reduce 操作符 | single 操作符 | first 操作符 | toList 操作符 )
- 【Kotlin 协程】协程启动 ① ( 协程构建器 | launch 构建器 | async 构建器 | runBlocking 函数 | Deferred 类 )
- Android kotlin 用三个RecyclerView(androidx+BRVAH3.0.6+AnyLayer)+自定义ViewPager实现从顶部弹出三级菜单列表(左右滑动)对话框功能
- Android Studio 4.2.2 Kotlin(不能进入类)的报错提示:Cannot find declaration to go to