为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

绝地无双 2019-06-09 09:20:19
所以一般情况下是不是前端要考虑的情况更多,更复杂?
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

多线程的优点:

1)资源利用率更好
2)程序设计在某些情况下更简单
3)程序响应更快

多线程的代价:

1)设计更复杂
虽然有一些多线程应用程序比单线程的应用程序要简单,但其他的一般都更复杂。在多线程访问共享数据的时候,这部分代码需要特别的注意。线程之间的交互往往非常复杂。不正确的线程同步产生的错误非常难以被发现,并且重现以修复。

2)上下文切换的开销
当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)。CPU会在一个上下文中执行一个线程,然后切换到另外一个上下文中执行另外一个线程。上下文切换并不廉价。如果没有必要,应该减少上下文切换的发生。


查看完整回答
反对 回复 2019-06-09
?
GCT1015

TA贡献1827条经验 获得超4个赞

前端的JS解释引擎只有一个线程,相当于后端的主线程,其余线程均由浏览器进行实现,并暴露相应的API给JS执行引擎,这些API通常要求JS绑定一个函数,以便回传结果。事实上,JS代码通常不会全程运行,而是函数绑定的事件发生之后,将函数语句放到调用栈里逐条执行。至于孰难孰易,听说后端比较难咯。
                            
查看完整回答
反对 回复 2019-06-09
  • 2 回答
  • 0 关注
  • 317 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号