ホームページ > 記事 > ウェブフロントエンド > WebWorker に関する 10 の推奨コース
Web 開発中、ブラウザがイベントに応答せず、一時停止アニメーション状態になったり、「スクリプトの実行時間が長すぎます」というプロンプト ボックスが表示されたりすることがよくあります。これが発生した場合は、スクリプトが正常に動作していないことを意味します。制御不能。ブラウザには少なくとも 3 つのスレッドがあります。js エンジン スレッド (js の処理)、GUI レンダリング スレッド (ページのレンダリング)、ブラウザ イベント トリガー スレッド (対話の制御) です。 1: JavaScript エンジンは、イベント駆動型のシングルスレッド実行に基づいています。JS エンジンは、タスク キュー内のタスクの到着を待ってから、それらを処理します。ブラウザーでは、常に 1 つの JS スレッドのみが JS プログラムを実行します。 。 2: GUI レンダリング スレッドは、ブラウザ インターフェイスのレンダリングを担当します。インターフェイスの再描画 (Repaint) が必要な場合、または特定の操作によってリフローが発生した場合、このスレッドが実行されます。ただし、GUI レンダリング スレッドと JS エンジンは相互に排他的であることに注意してください。JS エンジンが実行されると、GUI スレッドが一時停止され、GUI の更新が中断されます。ブラウザがイベントに応答せず、一時停止アニメーション状態になったり、「スクリプトの実行時間が長すぎます」というプロンプト ボックスが表示されたりすることがよくあります。これが発生した場合は、スクリプトが制御不能になっていることを意味します。 。
2. JavaScript の Promise の詳細な紹介
はじめに: JavaScript はシングルスレッドであり、タスクがある場合、一度に 1 つのタスクしか実行できません。時間がかかると、後続のタスクが待たされることになります。では、このような問題を解決する方法はあるのでしょうか? (WebWorker は置いといて)、つまり、コードを非同期に実行させることです。これは何を意味しますか? たとえば、Ajax 非同期リクエスト中、readyState の値が継続的に監視され、指定されたコールバック関数の実行が決定されます。 通常、非同期実行にはコールバック関数、イベント リスニング、パブリッシュとサブスクライブの 3 つのタイプがあり、イベント リスニングとパブリッシュとサブスクライブは実際には似ていますが、後者の方が堅牢です。 コールバック関数、リターンなど...
3. html5 マルチスレッド処理 webWorker
はじめに: Web Worker は、Web コンテンツがバックグラウンドでスクリプトを実行できるようにする簡単な方法を提供します。 。ワーカーが作成されると、ワーカーによって生成されたすべてのタスクがこれらのメッセージを受信できるように、その作成者が指定したイベント リスニング関数にメッセージを渡すことができます。js - 単体テストでは、ワーカー ファイルに webworker が含まれています。 be found エラーが常に報告されます。それを解決するにはどうすればよいですか?
以上がWebWorker に関する 10 の推奨コースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。