猿问

有没有童鞋遇到过同样的问题:前端是不是相当于后端的多线程编程?万分感谢

所以一般情况下是不是前端要考虑的情况更多,更复杂?
绝地无双
浏览 318回答 2
2回答

子衿沉夜

多线程的优点:1)资源利用率更好2)程序设计在某些情况下更简单3)程序响应更快多线程的代价:1)设计更复杂虽然有一些多线程应用程序比单线程的应用程序要简单,但其他的一般都更复杂。在多线程访问共享数据的时候,这部分代码需要特别的注意。线程之间的交互往往非常复杂。不正确的线程同步产生的错误非常难以被发现,并且重现以修复。2)上下文切换的开销当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)。CPU会在一个上下文中执行一个线程,然后切换到另外一个上下文中执行另外一个线程。上下文切换并不廉价。如果没有必要,应该减少上下文切换的发生。

GCT1015

前端的JS解释引擎只有一个线程,相当于后端的主线程,其余线程均由浏览器进行实现,并暴露相应的API给JS执行引擎,这些API通常要求JS绑定一个函数,以便回传结果。事实上,JS代码通常不会全程运行,而是函数绑定的事件发生之后,将函数语句放到调用栈里逐条执行。至于孰难孰易,听说后端比较难咯。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答