一个应用程序是一个进程,一个进程包含有一个线程,叫做主线程。
一个主线程在webworker的环境下可以开辟多个分线程,但是需要注意
一点,分线程不能刷新ui(处理数据,然后回调主线程刷新)
js是一个单线程语言,容易造成代码阻塞,解决的办法:
1.window.fetch
2.xmlhttpRequest
3.jquery.ajax
4.promise
5.async/await
6.setTimeOut
7.setInterval
h5之后出现了8.webworker
webworker和上述这些最大的区别在于可以用开辟单独的线程,而上述只是
在单一线程中开启了异步,主要是为js创造多线程环境
webworker的特点:
1.同源限制:
分配给worker线程运行的脚本文件,必须与主线程的脚本文件同源
2.dom限制
worker线程所在的全局对象,与主线程不一样,无法读取主线程所在网页的dom
3.通信联系
worker线程和主线程不在同一上文环境,不能直接通信
4.脚本限制
worker有别于普通的js不呢个使用alert和confirm方法,但是可以发送ajax
5.文件限制
worker无法读取本地文件
Webworker的知识点
最新推荐文章于 2024-07-22 17:07:43 发布