問題タブ [executioncontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JS で外部関数スコープにアクセスするときの問題
なぜ次のことが起こるのですか?
出力:
javascript - JavaScript実行コンテキストの簡単な説明が必要
実行コンテキストのワークフローの簡単な説明を理解しようとしています。
-- コード
--
- Javascript エンジンが起動します。
- グローバル実行コンテキストが作成されます。
- レキシカルおよび変数環境オブジェクトが作成されます。
- このプロパティが作成されます。グローバル オブジェクトを指します。
環境オブジェクト (レキシカルおよび変数) には、環境レコードと
外部プロパティがあります。
このコンテキストで環境オブジェクトの違いを説明することで、誰でも助けてくれますか?作成フェーズでは、グローバル コンテキスト用にコード変数をスキャンします。
- Environment オブジェクト (レキシカルまたは変数 ??) 内の環境レコードは、変数の定義を保持します。
関数のコードをスキャンし、サンプル関数を見つけます。関数を見つけるとどうなりますか? [[scope]] プロパティは設定されていますか?? 誰かが [[scope]] プロパティの明確な説明を与えることができれば素晴らしいだろう
グローバル実行コンテキストの実行フェーズが開始されます。
- 関数サンプルに到達します。
- サンプル関数コンテキストが作成されます。
- 上記と同様の手順が作成フェーズで発生します。
- 実行コンテキストが作成されます(
- レキシカルで可変的な環境が作成されます)
レキシカル環境には、グローバルなレキシカル環境を指す環境レコードと外部環境があります。- 変数環境も同様のプロパティで作成されます。
- 変数が巻き上げられます。
- [[scope]] プロパティに変更が加えられましたか??
- 実行は実行フェーズに入ります。等々。
注意:関数式やtry catch句などがあると、説明と動作が変わることを理解しています。そのような状況では、変数環境が作用することを読みました。上記の機能のワークフローを探しています。関数の引数でさえ、引数プロパティを作成します。それも無視できます。上記のサンプルコードに基づいて、レキシカル、変数環境、および [[scope]] プロパティを非常に簡単に説明します。このプロパティもあります。この場合、それは単なるグローバルオブジェクトです-両方のコンテキストのウィンドウだと思います。物事を単純にするために、それも無視しましょう:)。これを理解した後、別の質問を作成します:)。
誰かがこの基本的な概念を理解するのを手伝ってくれることを願っています. ES5ベースの説明を探しています。よろしくお願いいたします。
ミア
c# - CallContext.LogicalSetData のスレッド セーフな使用
非同期コード間で情報を共有するために CallContext.LogicalGetData を使用しています。
この種の呼び出しを「スレッドセーフ」な方法で実行したい:
それを行う方法について何か考えはありますか?
javascript - Javascript 実行コンテキストのメモリ管理
私は自分の質問に対する答えを得るのに苦労していますが、うまくいきません。
インタープリターが実行コンテキストを初期化するときのjavascriptでは、そのサイズは決定されますか?もしそうなら、データメンバーの1つ(配列としましょう)がこのサイズを超えるとどうなりますか?これはオーバーフローと見なされますか? または、これを解決するためのメモリ割り当てメカニズムがありますか?
scala - Futures を待機しているときに Scala コンソール アプリケーションが終了しない
( 、、などFuture
を介して)の結果を使用する scala プロセスを実行するたびに、プロセスが終了せず、プロセスを手動で強制終了する必要があります。これは、私が使用しているか、標準的な方法を使用しているかに関係なく発生します。 Await
map
onComplete
extends App
def main(args: Array[String])
ThreadPoolExecutor
関数の最後にぶら下がっているを実行するためにscalaがスピンアップすることに関連しているFuture
ように思えますが、それを閉じるためのハンドルを取得できないようです。
たとえば、次のコードは終了に失敗します。
このコードは問題なく終了しますが (唯一の変更点は、Future を返す Async バージョンで、それが Awaited になります):
のコードは、AmazonAsyncApiGatewayHelper
最終的に Play ライブラリの HTTP クライアントを実行して Future を作成します。ただし、Future を他の方法で実行した場合にも、これが見られました。
.net - アセンブリ実行コンテキストを取得
.Net アプリケーションが起動されているかどうかを確認する方法を探しています。
- ユーザーが手動で (.exe またはショートカットをダブルクリックして)
- Windowsのスケジュールされたタスクによって
- ネイティブ .net クラス/メソッドを使用することによってのみ
- オプションのパラメーターを使用してexeを起動するのではなく、コードで確認してください
トゥールーズ\フランスからよろしく
.net - ConfigureAwait(false) が Task.Run/Task.Yield で機能しないのはなぜですか?
ここに私が書いた小さなテストがあります。
ただし、スタックをウォークするコード 'WasExecutionContextActuallySuppressed は false を返します (コンテキストが抑制されていないことを示します)。これは、スタックが ExecutionContext.Run を呼び出し元として示しているためです。
スタック:
- <b__6_0>d.MoveNext
- MoveNextRunner.InvokeMoveNext
- ExecutionContext.RunInternal
- ExecutionContext.Run
なぜこれが機能しないのですか?
(注: 一方、ExecutionContext.SuppressFlow();
を使用する代わりに実際に実行するConfigureAwait(false)
と、うまくいくようです!)
scala - scala の実行コンテキストと play の実行コンテキストの違いは何ですか?
Scala には実行コンテキストがあります。
Ans Play には独自の実行コンテキストがあります
主な違いは何ですか。どちらを使用する必要があり、どのシナリオで使用する必要がありますか。