1、异步:强调的是非阻塞,委托别人做,做完给我结果(但可能给我结果时我在做其他事情)
2、基于多线程的异步:委托别人做,做完给我结果(切换上下文接受结果),多线程就是实现异步的一种方式,异步是要达到的结果
3、并行:真正同时处理多个任务,如3个人同时喝3杯饮料,强调的是高效完成计算任务,而不是并发数量。多CPU系统中
4、并发:任一时间点只有一件事在做,如一个人喝3杯饮料
使用场景:
当需要执行I/O操作时,异步操作更合适。I/O操作不仅包括了直接的文件、数据库操作、HttpRequest等跨进程的调用。
而线程的适用范围则是那种需要长时间CPU运算的场合,例如耗时较长的图形处理和算法执行。