1
mineralsalt 2022-01-05 17:21:10 +08:00
当然是异步的, 由线程池管理, 线程池数量可以自己设置, 使用这个的时候要注意函数执行时间, 它不会等函数执行完成
|
2
xjngbla OP @mineralsalt 在网上找到了这段话,明白了,谢谢
异步与多线程的区别 通过上面的介绍,我们可以看出多线程都是关于功能的并发执行。而异步编程是关于函数之间的非阻塞执行,我们可以将异步应用于单线程或多线程当中。 <b>因此,多线程只是异步编程的一种实现形式。</b> 比如,你和你的朋友决定一起做一顿午餐。“异步”就是你对朋友说:“你去商店买意大利面,回来的时候告诉我一声,然后一起做午餐。在你买意大利面的同时,我去准备番茄酱和饮料。” 而“线程”是:“你烧水,我加热番茄酱。当水烧开了,告诉我,我把意大利放进去。当番茄酱热了,你可以把奶酪添加进去。当两者都完成了,就可以坐下来一起吃晚餐。”在线程的示例中,我们可以看到“When ,Do”的事件顺序,而这些顺序代表着每个人(线程)的指令集集合的顺序。 上述示例可以看出,多线程是与具体的执行者相关的,而异步是与任务相关的。 多线程是程序设计的逻辑层概念,它是进程中并发运行的一段代码,可以实现线程间的切换执行。 异步和同步是相对的,异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。 多线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。 所以本质上,异步和多线程并不是一个同等关系,异步是最终目的,多线程只是实现异步的一种手段。 |