Fine-grained threading的应用理念与 coarse threading是完全相反的。fine-grained threading侧重于单一的任务,并将其进行分解处理。当基于fine-grained threading模式下时则可以显著提升3D渲染程序以及视频编码等应用程序的性能。由于3D渲染以及视频编码是很容易将任务分解成更小的任务去完成的,因此如果你拥有双核心处理器,就可以将任务分成两部分来完成,如果你拥有的四核心处理器,那么就可以将任务分解为四个部分去完成。
下面还是通过前面提到的晚餐来给大家描述一下fine-grained threading到底是什么?打个比方,你现在要为上百人准备大量的食物,而这上百人里每一个人都希望自己的那份食物都是热乎的,并且不希望食物被煮过头或者火候不足。那么解决方法是什么呢?当然是增加厨师,并且同时制作。
但是fine-grained threading所面临的问题是并不是所有的应用程序都能够适用这种线程模式。比如在晚会上也许还会有别的大餐供来宾品尝,因此你可以并不需要更多的厨师去进行相同的操作。很明显,在操作起来fine-grained threading的实现难度要远大于coarse threading,因为在具体的操作中你无法得知每个份任务需要的具体处理时间。同时处理能力的分配以及资源的管理也存在很大问题,特别是如果你需要分配很多任务的时候则更是如此。在处理的时候,你需要在耗时以及任务分配之间实现一个平衡。
此外 fine-grained threading的执行效果与处理器核心的增加是曾现递减的,这里我们拿3D渲染来举个例子,在进行3D渲染时,双核心处理器的速度要比单核心处理器高90%,而四核心处理器的速度则是双核心处理器执行速度的80%,而八核心处理器的速度也许只比四核心快70%。
如果单核心处理器需要20分钟才能完成的3D渲染,那么双核心处理器需要的时间只有11分钟,而四核心处理器则需要6分钟,八核心处理器也许只需要3.5分钟。此外根据不同的操作任务fine-grained threading将会带来不同的性能提升,同时对于系统开发人员来说在fine-grained threading模式下也会增添了大量优化的工作。

从其命名方式我们不难看出Hybrid threading是将coarse 和 fine-grained threading结合在一起的混合线程。虽然在操作的时候会是最麻烦的,但是从现有的结果来看hybrid threading将能够在最大程度上充分利用处理器的性能。