一,并发和并行
并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。简言之,是指系统具有处理多个任务的能力。
并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。简言之,是指系统具有同时处理多个任务的能力。
如下图:
二,同步和异步
1.同步:就是客户端发起请求,要等待服务端的响应之后才能进行下一步操作;如下图必须要做饭之后才能吃饭。
2.异步:就是客户端发起请求,不等待服务端的响应,去做别的时,当服务端相应之后告诉我们,我们在处理,如下图我们吃饭之前可以做任何事,外卖到了之后我们就吃饭;
异步一般都是为了用户体验,不要让用户等待太久而使用。