一、同步与异步?
同步:发送一个请求,等待返回,再发送下一个请求,同步可以避免出现死锁,脏读的情况发生。
异步:发送一个请求,不等待返回,随时可以再发送下一个请求,这样可以提高效率,保证并发。
二、进程与线程?
进程:进程是执行着的应用程序
进程举例:我登录一个微信,后台就会有一个微信进程,我们可以通过微信聊天、打游戏、发语音、打视频,这些就是微信的线程
线程:线程就是进程内部的一个执行序列。
解释:一个进程可以有多个线程,线程又叫做轻量级进程
三、并发与并行?
并发:指多个事件在同一个时间间隔内发生,即交替做不同事的能力,多线程是并发的一种形式
并行:指多个事件在同一时刻发生,即同时做不同事的能力。
高并发:多个线程同一时间点蜂拥而入,去抢同一份资源。秒杀
你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。
并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。