簡體   English   中英

瀏覽器仍然是單線程嗎?

[英]Are browsers still single-thread?

我聽了Crockford關於Javascript(2006)的一次老演講,他在談論模型

Flow  -> Paint
  ^        | 
  |        v
Script <- Event

(涉及Flow,paint,event,script ...的循環),說“因為所有瀏覽器都是單線程的”。

所以,我的問題是,它們仍然是單線程的嗎?

對於那些可能知道的人來說,這些視頻講座在所教授的內容方面是否仍然有意義?

就JavaScript而言,您可以運行。 這通常不是問題,因為您打算在JavaScript中執行的所有可能花費一毫秒以上的時間都可以表示為“異步”操作(例如,AJAX請求,動畫過渡等)。 這意味着您的所有代碼要做的就是開始操作,並注冊可能的回調以使其完成。

對於擁有“ Web Worker”有意義的情況,很少有例外,但是我從未真正看到過使用它們的情況。

從技術上講,是的,它們仍然都在運行單線程,以處理在前端生成頁面和操作的問題。 有多種方法可以使它看起來像不是,並且可以像使用html5中引入的Web worker一樣運行偽多線程那樣獨立運行javascript進程。 偽我的意思是說,它的工作原理與大多數多線程進程一樣,它在時鍾中斷之間切換得如此之快,似乎就像是多線程一樣。 有關網絡工作者的更多信息, 請訪問http://www.w3schools.com/html/html5_webworkers.asp以及Google。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM