aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/glossary/main_thread/index.html
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>