所以一般情况下是不是前端要考虑的情况更多,更复杂?
2 回答

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

GCT1015
TA贡献1827条经验 获得超4个赞
前端的JS解释引擎只有一个线程,相当于后端的主线程,其余线程均由浏览器进行实现,并暴露相应的API给JS执行引擎,这些API通常要求JS绑定一个函数,以便回传结果。事实上,JS代码通常不会全程运行,而是函数绑定的事件发生之后,将函数语句放到调用栈里逐条执行。至于孰难孰易,听说后端比较难咯。
添加回答
举报
0/150
提交
取消