✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:https://blog.csdn.net/newin2020/category_12820365.html
📚专栏简介:在这个专栏中,我将会分享操作系统面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
49. 常用线程模型 - actor 模型
actor 模型属于一种基于消息传递机制并行任务处理思想,它以消息的形式来进行线程间数
据传输,避免了全局变量的使用,进而避免了数据同步错误的隐患。actor 在接受到消息之后可
以自己进行处理,也可以继续传递(分发)给其它 actor 进行处理。在使用 actor 模型的时候需
要使用第三方 Akka 提供的框架。
50. 常用线程模型 - 生产者消费者模型
生产者消费者模型都比较熟悉,其核心是使用一个缓存来保不存任务。开启一个/多个线程来
生产任务,然后再开启一个/多个来从缓存中取出任务进行处处理。这样的好处是任务的生成和处
理分隔开,生产者不需要处理任务,只负责向生成任务然后保存到缓存。而消费者只需要从缓存
中取出任务进行处理。使用的时候可以根据任务的生成情况和处理情况开启不同的线程来处理。
比如,生成的任务速度较快,那么就可以灵活的多开启几个费者线程进行处理,这样就可以避
免任务的处理响应缓慢的问题。
51. 常用线程模型 - master-worker 模型
master-worker 模型类似于任务分发策略,开启一个 master 线程接收任务,然后在 master 中根据任务的具体情况进行分发给其它 worker 子线程,然后由子线程处理任务。如需返回结果,则 worker 处理结束之后把处理结果返回给 master。