Re: [討論] javascript是共時、多執行緒嗎?
我剛剛測試了一下
發現其實鍵盤事件並不會同步運行
當我按下按鍵 程式開始跑上萬次的 onj.innerHTML = i
此時其他按鍵的事件會無法觸發
但更嚴格來說 這還是因瀏覽器的實作而異
以ie來說 在迴圈跑完前 任何事件都會被忽略
而fx就像前面有人提過的 會排進queue裡面
所以跑完迴圈後還是會處理我剛剛另外按的按鍵事件。
由此推之,我們無法完全保證未來不會有瀏覽器採取多工方式處理事件。
另一方面 我發現我原本程式的同步問題
確確實實主要由ajax造成
只要 async = false
同步問題就會解決。
所以我得到一個這樣的結論:
純javascript由於瀏覽器實作細節的差異
可能在嚴苛的條件下發生同步問題。
另一方面 很多時候 ajax 使用 async = true
是勢在必行。
所以我們不能完全免除同步問題發生的可能
也因此 Wallace variance of bakery's algorithm 還是有實作的必要性。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.161.155
※ 編輯: ec75413 來自: 59.121.161.155 (11/07 15:40)
→
11/07 16:03, , 1F
11/07 16:03, 1F
→
11/07 16:04, , 2F
11/07 16:04, 2F
→
11/07 16:06, , 3F
11/07 16:06, 3F
→
11/07 16:07, , 4F
11/07 16:07, 4F
→
11/07 16:09, , 5F
11/07 16:09, 5F
→
11/07 16:23, , 6F
11/07 16:23, 6F
→
11/07 16:23, , 7F
11/07 16:23, 7F
討論串 (同標題文章)
完整討論串 (本文為第 7 之 11 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章