并行
cpu就好比一条高速公路,如果公路有四个车道,那么它可以并行行驶四辆车,cpu的核心数就是车道数。
并发
谈论并发的时候必须在单位时间内讨论,俗话说一心不能二用,cpu也是如此。
原则上来说一个cpu只能分配给一个进程,如果想“一心多用”,就只能使用并发技术,常见的就是“时间片轮转进程调度算法”。
在我们的操作系统上肯定不止打开了一个软件,那么是如何做到一心多用的呢,实际上cpu的运行速度是非常快的,他可以飞速的每个进程之间切换,每个进程执行一个时间片,然后切换下一个进程。由于切换速度非常快,所以我们感觉上是并行运行的。
并发量计算公式:
当不考虑任何客观因素的情况下,假设一个服务器有2个物理CPU,每个CPU 有8核16个线程:那么它的 1s 极限并发量是:1000ms*16(CPU 线程量)*2个(CPU 切片轮换时间(假设 10ms-+程序执行时间(假设 10ms))-1600个并发。如果前台保证不死机等情况,假设用户可容忍的最大时间是 3s,那么此套程序的最大并发量就是 4800 个
。当然了这是一种理想状况,实际上加上其他各种条条框框肯定要比这个少很多。