从操作系统层面来说,并发和并行可以表示CPU执行多个任务的方式
并发:并发是指两个或多个任务在同一时间间隔内发生,比如在4核CPU上运行100个线程,由于核数限制,这100个线程无法在同一时刻运行,所以CPU只能采用时间片切换的方式来运行,如果这100个线程能够在1s内全部处理完成,那么我们可以认为当前的并发数是100。
并行:当有多个CPU核心时,在同一个时刻可以同时运行多个任务,这种方式叫并行。比如,4核CPU可以同时运行4个线程。
从宏观层面来说,一个系统能够处理的请求数即当前系统的并发数,但是这个并发数是由很多因素决定的,其中最主要的因素就是当前进程最多允许同时打开的连接数,在Linux系统中可以通过命令ulimit -n查看,假如得到的结果是1024,那么该进程能够并行处理的连接数就是1024。
总的来说,并行和并发的区别就是,多个人做多件事情和一个人做多件事情的区别。