Future模式(并发模式)
Future模式会异步创建一个子线程,去完成相关请求任务,然后将处理结果返回给主线程main。在子线程请求并处理数据的过程中,主线程可以继续做别的事情,即异步加载数据。
Future模式非常适合在处理耗时很长的业务逻辑时进行使用,可以有效减少系统的响应时间,提高系统的吞吐量。
JDK中已经提供了Future模式的封装
Master-Worker(并行模式)
Master-Worker模式是常用的并行计算模式,它的核心思想是系统由两类进程协作工作:Master进程和Worker进程。Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master做归纳和总结。其好处是能将一个大任务分解成若干个小任务,并行执行,从而提高系统的吞吐量。
在系统的数据量不是很大的场景,用Hadoop或者Storm有点大材小用,可以考虑Master-Worker。
生产者-消费者模型(MQ)
生产者-消费者也是一个非常经典的多线程模式,我们在实际开发中应用非常广泛的的思想理念。在生产者-消费者模式中:通常有两类线程,即若干个生产者的线程和若干个消费者的线程。生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务,在生产者和消费者之间通过共享内存缓存区进行通信。
类似ajax轮询