10

私はjavascript/jqueryが初めてです。Javaスクリプト関数の1つが実行されているという簡単な質問があり、そのスレッドのスレッドIDを確認したかったのです。Javaでは私たちは好きです

Thread.getID();//in java

実行中のスレッドのスレッドIDを出力します。同様に、javascript で実行中のスレッド ID を取得するために使用する関数は何ですか。

実際に私が欲しいのは..

私の JavaScript には、チャネルをリッスンするリスナーがあります。チャネルにメッセージがあるたびに、コールバック メソッドが呼び出され、データが処理されます。だからここで私はそれがそのようにどのように機能するかを見ようとしています..チャネルに10個のメッセージがあり、各メッセージに対してコールバックが呼び出されるとしましょう。

コールバック メソッドがメッセージ "a" に対して実行されており、メッセージ "a" のデータを処理しているときに別のメッセージ "b" を受け取ったとします。メッセージ「a」の処理が完了すると、「b」のコールバック メソッドが呼び出されますか?

コールバック関数でスレッド番号を出力して、順番に実行されているか (1 つのスレッド) 実行されているか、複数のスレッドが実行されているかを確認して、これを確認したかったのです。そのため、スレッド ID を出力しようとしていました。ご回答ありがとうございます。

ありがとう、スワティ

4

4 に答える 4

5

JavaScript はシングルスレッドです。したがって、これは JavaScript には適用されません。

ただし、HTML5 で導入された非常に限定的な Workerインターフェイスを介して複数のスレッドを生成することが可能であり、一部のブラウザーでは既に利用可能です。MDCの記事から、

Worker インターフェースは実際の OS レベルのスレッドを生成します。注意しないと、並行性によってコードに興味深い効果が生じる可能性があります。ただし、Web ワーカーの場合、他のスレッドとの通信ポイントが慎重に制御されているため、同時実行性の問題が発生するのは実際には非常に困難です。非スレッド セーフ コンポーネントや DOM へのアクセスはなく、シリアル化されたオブジェクトを介して特定のデータをスレッドに出し入れする必要があります。したがって、コードで問題を引き起こすには、非常に懸命に取り組む必要があります。

これは何のために必要ですか?

于 2010-09-02T21:42:35.567 に答える
0

JavaScript のほとんどの場合、スレッドは 1 つです。そのため、そのような情報にアクセスできる "1" によって不変であるため、このためのメソッドはありません。イベントとキューイング (ブラウザーによって処理される) のバックグラウンドにはさらに多くのスレッドがありますが、コードに関する限り、メイン スレッドがあります。

Java != JavaScript、それらは 4 文字しか共有しません :)

于 2010-09-02T21:41:40.390 に答える
0

名前は別として、Javascript は Java とはまったく関係ありません。Javascript には、アクセスできるスレッドがありません。

于 2010-09-02T21:42:39.133 に答える
0

JavaScript では、スクリプトはブラウザ スレッドで実行され、コードはその情報にアクセスできません。実際、コードはどのように実行されているかわかりません。いいえ!JavaScriptにはそのようなものはありません。

于 2010-09-02T21:43:29.497 に答える