1.同步和异步的区别?
- 同步方法调用后,调用者必须等到方法调用返回后,才能继续后续行为。
- 异步方法调用发出后,调用者不需要等待返回结果,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程。
2.并行和并发的区别?
- 并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事
- 并发:一个CPU(采用时间片)同时执行多个任务。比如:多个人同时做一件事
- 并行是指当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这就是并行。
- 并发指在CPU把一个时间段划分成几个时间片段,然后在这几个时间区间之间来回切换,由于CPU切换速度很快,使得在宏观上让人感觉多个进程在同时执行,但在微观上并不是同时执行的。
4.阻塞和非阻塞的区别?
- 阻塞是指线程如果得不到资源,线程会被挂起,直到得到资源为止。
- 非阻塞是指线程如果得不到资源,线程不会被挂起,还可以做别的事情。