官方回应:犯罪分子无法突破人脸识别
|
国王不解,问到:“什么叫转而去执行别处的代码?什么叫回去继续执行?这函数执行到一半还能中途退出再回来?” “是的,没错!”,使者回答。 此话一出,朝堂上议论纷纷,群臣都露出了鄙夷的笑容。 “简直荒谬!函数执行从进入到return退出,从来都是一气呵成,哪有中途执行一半退出,再回来接着执行的道理?简直闻所未闻!”,一旁的线程大臣说到。
使者继续说到:“一气呵成?恐怕不是吧?线程执行函数中途,遇到时间片用完或者遇到I/O阻塞,就会被操作系统保存上下文后挂起,切换到其他线程。而后等到机会再回过头继续执行,不是吗?” “这也不行,那也不行,你这人还真难伺候”,线程大臣有些急了。 使者转身面向国王说到:“启禀陛下,我有一法,可让线程遇到阻塞函数后不需切换线程,也不用异步回调还可以继续运行下去,是高并发开发神技” 国王一听来了兴趣:“哦,还有这种事?说来听听”
使者拜了一拜,说到:“线程可以在遇到阻塞的地方后,保存执行的上下文,转而去执行别处的代码。待阻塞的请求完成后,再转而回去继续执行” “GoLang帝国?何方番邦小国?寡人竟从未听闻”,国王闭眼说到。 说罢,群臣皆笑了起来。 “来此所为何事?”,内侍继续问到。 使者回答:“我此行特为传道而来” 说完,国王睁开了眼睛,“传道?我Java帝国乃天下第一编程帝国,只有我们传出去,哪有学别人之道?” 使者不卑不亢,说到:“Java帝国虽如日中天,但却有一处缺陷,假以时日,必成大患” “哦,你倒是说说看,如若言语不通,即刻轰出殿去。”,国王厉声喝到。 “敢问陛下,Java线程执行到阻塞函数时,该当如何?”,使者问到。 一旁的线程大臣见状,上前说到:“遇到阻塞那自然要被操作系统挂起,切换到别的线程” “敢问大人,线程切换是否需要成本?如果大量线程频繁切换,成本又当如何?”,使者追问到。 “你若关心这个问题,那就不用阻塞函数,通过异步回调来进行”,线程大臣答道。
使者嘴角上扬,微微一笑,“好一个异步回调!异步回调确实不用阻塞,不过它有两宗罪,其一:割裂了原来的代码业务逻辑,其二:陷入回调地狱难以维护” (编辑:漯河站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
