文章摘要:java线程模型有哪些 Java的线程模型
java中的线程模型有:1.Actor消息模型;2.生产者消费者模型;3.Future模型;4.Master- […]
java中的线程模型有:1.Actor消息模型;2.生产者消费者模型;3.Future模型;4.Master-Worker模型;5.fork&join 模型;
java中的线程模型有以下几种
1.Actor消息模型
Actor消息模型是一个基于消息传递机制并行任务处理思想,可以以消息的形式进行线程的数据传输,可以避免使用全局变量,从而避免避免数据同步错误的情况。
2.生产者消费者模型
生产者消费者模型可以开启一个或多个线程来生产任务,然后再开启一个或多个线程从缓存中取出任务并进行处理,其中生产者负责生成任务并缓存,消费者负责从缓存中取出任务并进行处理。
3.Future模型
Future模型中是将结果放在将来获取,当主线程不急于获取处理结果时,允许子线程先进行处理,并将处理结果保存,等主线程需要使用时在向子线程索取结果。
4.Master-Worker模型
Master-Worker模型是一个任务分发策略,可以通过开启一个master线程接收任务,然后从master中根据任务的情况进行分发,当任务分发到worker子线程时,由子线程对任务进行处理。
5.fork&join模型
fork&join模型是是jdk中提供的线程模型,包含递归思想和回溯思想,可以通过递归来拆分任务,而利用回溯用合并结果,fork&join模型可以将一个大任务逐级拆分为多个子任务,然后分别在子线程中执行,当每个子线程执行结束之后逐级回溯,返回结果进行汇总合并,最终得出想要的结果,常用于处理一些可以进行拆分的大任务。