blob: ceb985bb00d5db149e71dbb60ea5282fe8604352 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
---
title: 主线程
slug: Glossary/Main_thread
translation_of: Glossary/Main_thread
---
<p><strong>主线程</strong>用于浏览器处理用户事件和页面绘制等。默认情况下,浏览器在一个线程中运行一个页面中的所有 JavaScript 脚本,以及呈现布局,回流,和垃圾回收。这意味着一个长时间运行的 JavaScript 会阻塞线程,导致页面无法响应,造成不佳的用户体验。</p>
<p>除非故意使用 <a href="/en-US/docs/Web/API/Web_Workers_API/Using_web_workers">web worker</a>,比如 <a href="/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers">service worker</a>,不然 JavaScript 只在线程中运行,所以脚本的运行时,很容易导致事件处理流程或绘制的延迟。主线程中运行的工作越少,就有越多的余地来处理用户事件,页面绘制和对用户保持响应。 </p>
<section class="Quick_links" id="Quick_Links">
<ol>
<li>另可参考
<ol>
<li><a href="/en-US/docs/Learn/JavaScript/Asynchronous">异步 JavaScript</a></li>
<li><a href="/en-US/docs/Web/API/Web_Workers_API">Web worker API</a></li>
<li><a href="/en-US/docs/Web/API/Service_Worker_API">Service worker API</a></li>
</ol>
</li>
<li><a href="/en-US/docs/Glossary">词汇表</a>
<ol>
<li>{{Glossary("Thread")}}</li>
</ol>
</li>
</ol>
</section>
|