windows中每个运行的程序都是一个进程,每一个进程都会创建一个或多个线程,这些线程称之为软件线程。一个进程至少有一个线程,称为主线程。
硬件线程,也称之为逻辑内核或逻辑处理器,windows将每一个硬件线程识别为一个可调度的逻辑处理器,每一个逻辑处理器可以运行软件线程的代码,windows调度器可以决定将一个软件线程赋给一个硬件线程,通过这种方式均衡每一个硬件线程的工作负载,以达到并行优化的作用。
打个比方,如果把硬件线程看作是泳道,那么软件线程就是在泳道中游泳的人。
负载均衡,就是将软件线程的任务分发在多个硬件线程上的操作,通过负载均衡,工作负载(任务)可以公平的分配在各个硬件线程之间,然而,是否能够完美的实现负载均衡取决于应用程序的并行程度、工作负载、软件线程数、可用的硬件线程以及负载均衡策略。