常用的构建线程解决方案的方式

1.流水线

  每个线程反复的在数据系列上执行一系列操作,然后把结果交给下一个线程处理。

  在流水线方式中,数据元素流串行的被一组线程处理,每个线程依次在每个元素上执行一个特定的操作,并将结果传递给流水线的下一个线程,例如 视频播放器接受线程接受发送过来的数据,输出到解码线程解码,在交给渲染线程显示渲染。

  

2.工作组

  再工作组模式中,数据由一组独立的线程分别独立的处理。循环的并行分解通常就属于这种模式。  如数据库后台可能就是多个线程独自完成数据库数据的存取,修改,插入操作。

3.客户/服务 

  客户进程请求服务进程对某一组数据执行某个操作,服务进程独立的执行,客户要么等待服务进程完成处理反悔,要么并行的执行其它任务,稍后查找结果。

  例如:程序中需要硬件IO操作,比如串口读写、Socket通讯等,这时,用后台线程或线程池的方式,可以程序避免长时间的等待比较慢速的IO操作;  

原文地址:https://www.cnblogs.com/wolfrickwang/p/3734209.html