同步、异步
例子:送外卖
假如你在一家外卖店打工,老板叫你送外卖,送到XX公寓2号楼,你拿着外卖到了楼下,等买家下楼来拿,然后回去反馈给老板娘外卖已送到。(订单完成) - 同步调用
同样是送外卖,老板娘觉得你一个一个送来回跑效率太低了,让你直接送到楼下打个电话就可以回来了。不用管买家下不下来拿(订单完成) - 异步调用
同步和异步区别在于消息阻塞。同步调用,意思是你得等买家下来跟你处理这件事(订单),然后你才能走,要是买家有事一时半会不下来,而你还得送其他的外卖,这时候就形成了阻塞。
多线程、单线程
例子:送外卖
假如你是老板,店里五个员工,四个打杂,一个负责送外卖(一次只能送一个)。现在中午,外面很热,店里有10份外卖订单要送,此时让负责外卖的一个人送会比较花时间(单线程),这时你看到店里客人并不多,决定让三个打杂的也去送外卖(多线程)。
多线程在于合理利用空闲资源。