CPU核心数、进程、多线程、单线程、同步、异步、并行、并发。

例子:一个火车站就是一个CPU,一个窗口(每个窗口对应一个售票员)就是一个CPU核心,窗口前排队数就是线程数。

同步是指:一个窗口前排了一个队伍,售票员处理完前一个人的事情再去处理下一个人的事情。假设这个队伍有三个人,A被接待后需要2分钟考虑,B被接待后需要1分钟考虑,C被接待后需要3分钟需要考虑,那么同步一共需要2+1+3=6分钟时间,解决顺序为A、B、C,优点:顺便依次进行;缺点:耗时。异步是指A、B、C逐个被接待,但是你们一起到一边考虑去,考虑完了就给你解决,那么一共则需要3分钟,但是解决的顺序则是:B、A、C,优点:省时;缺点:顺序被打乱。

一个窗口排两个队伍,接待了第一个队伍的第一个人,再去接待第二个队伍的第一个人。等价于一个CPU核心开了多线程去实现异步,开多线程的目的是为了更好地实现异步,也就是说异步是目的,多线程是手段。但是,明白人一看就知道了,排两个队伍和一个队伍作用不怎么明显,都是逐个接待然后一起去思考。所以我们开两个窗口(两个售票员),两个窗口前各排一个队伍,效率就提高了。也就是说,有两个CPU核心去实现并行计算,这样的多线程才有意义,这样异步问题才能更好地解决。

并行与并发:一个CPU核心在某个时刻只能处理一个任务,但是处理速度极快,宏观来看是同时进行的,但微观来看却不是同时进行的,这叫并发。而多个CPU核心同时处理多个任务,无论是宏观还是微观都是同时的,这叫并行。

进程:电脑中会有很多单独运行的程序,每个程序对应一个独立的进程,各进程之间是相互独立存在的,比如QQ、微信、网易云音乐等。一个进程可以在多个CPU核心中运行。

本人的计算机有一个CPU,CPU中有四个CPU核心。常见的计算机都只有一个CPU,而那些需要处理极大工作量的计算器才需要去装多个CPU,这种计算机也叫超级计算机,CPU的个数是没有上限的。

Guess you like

Origin blog.csdn.net/yangyalun/article/details/106484540