一、多线程: 多线程是指程序中包含多个执行流,即在一个程序(进程)中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序(进程)创建多个并行执行的线程来完成各自的任务。
二、多线程的工作原理:
线程协调程序管理各个线程(线程协调程序是CLR委托给操作系统的一个函数),线程协调程序确保将所有活动的线程被分配适当的执行时间,并且那些等待或者被阻止的线程都是不耗CPU时间的。
在单核处理器的电脑中,线程协调程序在完成一个时间片之后迅速地在活动的线程之间进行切换执行。比如一个程序执行期间,你可以进行多个操作,其实就是线程间在飞快的切换。
在多核电脑中,多线程被实现成混合时间片和真实的并发,即不同的线程在不同的CPU上执行。
线程由于外部因素(比如时间片)被中断被称为被抢占,在大多数情况下,一个线程方面在被抢占的那一时那一刻就失去了对它的控制权。