随着互联网的不断发展,越来越多的人都在学习java编程开发技术,而今天我们就通过案例分析来了解一下,java编程流水线模型都有哪些特点。

java流水线 java流水线搭建有什么技术_java流水线

流水线设计的优点与并行设计模型相比,流水线模型具有一些优势,具体优势如下

不会存在共享状态

因为流水线设计能够保证worker在处理完成后再传递给下一个worker,所以worker与worker之间不需要共享任何状态,也就不用无需考虑以为并发而引起的并发问题。你甚至可以在实现上把每个worker看成是单线程的一种。

有状态worker

因为worker知道没有其他线程修改自身的数据,所以流水线设计中的worker是有状态的,有状态的意思是他们可以将需要操作的数据保留在内存中,有状态通常比无状态更快。

更好的硬件整合

因为你可以把流水线看成是单线程的,而单线程的工作优势在于它能够和硬件的工作方式相同。因为有状态的worker通常在CPU中缓存数据,这样可以更快地访问缓存的数据。

使任务更加有效的进行

可以对流水线并发模型中的任务进行排序,一般用来日志的写入和恢复。

流水线设计的缺点

流水线并发模型的缺点是任务会涉及多个worker,因此可能会分散在项目代码的多个类中。因此很难确定每个worker都在执行哪个任务。流水线的代码编写也比较困难,设计许多嵌套回调处理程序的代码通常被称为回调地狱。回调地狱很难追踪debug。