色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Javascript的并行運算

  前言

  隨著多核cpu的普級,并發/并行多線程運算在主流的編程語言越來越流行,而在目前Javascript實現中還看不到在語言方面支持多線程,現在Javascript如此流行,真希望今后會在語言的層面有很大的變化。

  下面我就個人觀點猜測一下,并行運算將會怎樣支持前端Javascript的。

  1、不太可能的進化

  顯示線程的支持,如果在Javascript中支持顯示線程,那么可能是一種災難,目前的瀏覽器解析Javascript并執行都是在瀏覽器的ui線程中工作的。

  比如你可以在Javascript中運行while(true),這時瀏覽器界面就會停止響應.或者通過我之前的文章(編譯Javascript引擎,為JavaScript提供睡眠功能:http://www.cnblogs.com/ioriwellings/archive/2010/08/16/1800416.html)了解UI界面被阻塞的過程。

  另外如果顯示支持線程必然也會支持線程間數據同步的同步原語功能,那就會出現這樣的問題:

  在一個函數中獲取鎖,而在另一個函數中釋放鎖,但是如果另一個函數出錯怎么辦,或者另一個函數是從另一個文件中引用的,又碰巧那個文件由于某些原因(網絡問題,編碼問題)沒有加載進來,這時就會發生死鎖。

  所以根據上面的一些原因,在JavaScript支持顯示線程還不太現實。

  2、有可能的進化

  隱式的并行支持,類似于openMP的宏指令,下面代碼聲明并行運算FOR循環:

#pragma omp parallel for
for (i = 0; i < N; i++)
  a[i]
= 2 * i;

it知識庫Javascript的并行運算,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 合川市| 乌拉特前旗| 中牟县| 琼海市| 北辰区| 娄底市| 阳春市| 井陉县| 敦煌市| 镇平县| 和硕县| 汝城县| 利川市| 明水县| 富顺县| 安岳县| 西畴县| 宁阳县| 壶关县| 子长县| 河源市| 吴旗县| 达拉特旗| 织金县| 台东市| 社会| 永泰县| 斗六市| 兴化市| 伊金霍洛旗| 久治县| 泸定县| 教育| 龙山县| 南宫市| 合山市| 黄冈市| 赫章县| 红安县| 安吉县| 额尔古纳市|