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

Javascript的并行運算

  前言

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

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

  1、不太可能的進(jìn)化

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

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

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

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

  所以根據(jù)上面的一些原因,在JavaScript支持顯示線程還不太現(xiàn)實。

  2、有可能的進(jìn)化

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

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

it知識庫Javascript的并行運算,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 辽宁省| 盐山县| 盘山县| 大理市| 孝义市| 南通市| 临朐县| 时尚| 新源县| 淮安市| 古蔺县| 东乡| 子洲县| 张北县| 新津县| 云阳县| 上栗县| 涟水县| 宜丰县| 苏州市| 宜丰县| 林西县| 花莲县| 芒康县| 乃东县| 晋江市| 田阳县| 大港区| 黑山县| 富蕴县| 谷城县| 绍兴市| 什邡市| 平塘县| 达拉特旗| 武宣县| 外汇| 长宁区| 台州市| 嘉义县| 扬州市|