jsはsetTimeoutとsetIntervalに基づいてマルチスレッドを実現する.
1356 ワード
この例は、jsがsetTimeoutに基づいてsetIntervalとマルチスレッドを実現する方法を説明する.皆さんに参考にしてあげます.具体的には以下の通りです.
javascriptがスレッドブロッキングを実現できないのは、sleepがシステムコールに関連しているからです.Jsは安全上システムからの呼び出しは禁止されています.
ステートメントを実行し続けるには、While(1)の空転でCPUを消費し、時間が来たらbreakと判断するしかない.でも、この方法は本当のsleepではないです.
一回だけ実行するタイマー
一つのページで二つの方法がページのロードが完了したら実行されますが、実際に実行した結果は自分の想像した順序で実行できません.どうやって解決しますか?
解決方法:
ワンロード方法にタイマーを追加して、タイマーをセットして、「遅延」してから運行します.これで、ページのローディング方法を区別する先着順となります.
JavaScript関連の内容について興味がある読者は、当駅のテーマを見ることができます.「JavaScript切替特効と技巧まとめ」、「JavaScript検索アルゴリズム技術まとめ」、「JavaScriptアニメーション特効と技巧まとめ」、「JavaScriptエラーとデバッグ技術まとめ」、「JavaScriptデータ構造とアルゴリズムのまとめ」、「JavaScriptアルゴリズムとアルゴリズムのまとめ」などがいっぱいあります.及び「JavaScript数学演算の使い方のまとめ」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます.
javascriptがスレッドブロッキングを実現できないのは、sleepがシステムコールに関連しているからです.Jsは安全上システムからの呼び出しは禁止されています.
ステートメントを実行し続けるには、While(1)の空転でCPUを消費し、時間が来たらbreakと判断するしかない.でも、この方法は本当のsleepではないです.
一回だけ実行するタイマー
//
function hello(){
alert("hello");
}
//
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//
window.clearTimeout(t1);//
繰り返し実行するタイマー
function hello(){
alert("hello");
}
//
var t1 = window.setInterval(hello,1000);
var t2 = window.setInterval("hello()",3000);
//
window.clearInterval(t1);
問題:一つのページで二つの方法がページのロードが完了したら実行されますが、実際に実行した結果は自分の想像した順序で実行できません.どうやって解決しますか?
解決方法:
ワンロード方法にタイマーを追加して、タイマーをセットして、「遅延」してから運行します.これで、ページのローディング方法を区別する先着順となります.
JavaScript関連の内容について興味がある読者は、当駅のテーマを見ることができます.「JavaScript切替特効と技巧まとめ」、「JavaScript検索アルゴリズム技術まとめ」、「JavaScriptアニメーション特効と技巧まとめ」、「JavaScriptエラーとデバッグ技術まとめ」、「JavaScriptデータ構造とアルゴリズムのまとめ」、「JavaScriptアルゴリズムとアルゴリズムのまとめ」などがいっぱいあります.及び「JavaScript数学演算の使い方のまとめ」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます.