問題タブ [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.
apache - Web コンソール実行 (管理) コンテキストへのタスクの投稿
apache brooklyn Web インターフェイスで、システム マネージャー向けのコンテンツを表示したいと考えています。コンテンツが長すぎて、単純なセンサー値として提供できません。
私たちのアイデアは、タスクを作成し、コンテンツをタスクの出力ストリームに書き込み、次のように REST ベースの URL をマネージャーに提供することでした: /v1/activities/{task}/stream/stdout (もちろん、リンクはマスクされています)素敵なテキスト付き)
ストリームとタスクは次のように作成されます。
タスクが作成されたようで、相互作用は完全に正常に機能します。ただし、準備された URL を使用してブラウザーからタスク出力ストリームにアクセスしたい場合、タスクが存在しないというエラーが表示されます。
私たちの考えは、私たちが正しい管理/実行コンテキストにいないということです。Web ページは、エンティティとそのセンサーとは別のコンテキストで実行されています。Web コンソールのコンテキストでも表示されるように、タスクを配置するにはどうすればよいでしょうか。
コンテンツをファイルに書き込んで、Jetty (ブルックリン Web サーバー) 経由でダウンロードできるようにすることはできますか? それははるかに簡単な方法です。
scala - REST API 呼び出し用の Scala ExecutionContext
他のサービスで使用できるいくつかの API を公開する HTTP サービスである私のアプリケーションでは、メッセージング サービスと別の REST サービスである 2 つの異なる外部サービスを呼び出さなければならない状況があります。
これらの I/O バウンド操作では、別のスレッド プールまたは ExecutionContext を使用することをお勧めします。以下を使用して、application.conf にカスタム ExecutionContext の構成を作成しています。
いくつか質問があります。
- これで 10 個の専用スレッドが作成されますか?
- parallelism-max のサイズを知るにはどうすればよいですか?
- この実行コンテキストを使用して REST API 呼び出しを行う場合、これをどのようにサイズ設定すればよいでしょうか?
multithreading - フォーク結合スレッド プールの構成
fork join スレッド プールの使用について簡単な質問があります。ここに私が使用しているものの短い例があります:
この場合、いくつのスレッドが作成されるのか、よくわかりません。2 コアのマシンで実行しているので、コアあたり 24 スレッド、最大 48 スレッドですか?
並列係数を 4.0 に設定すると、並列に実行できるスレッドの数は 8 になります。私の場合は 24 と 48 ですが、最小値と最大値を設定する必要はありますか?
javascript - Javascript: 異なる実行コンテキストで関数を実行する
実行時にJavascript関数の実行コンテキストを手動で変更する方法はありますか?
別のオブジェクトを指すように参照を変更することについて話しているのではありません。this
Function.prototype.call()/apply()
関数にアクセス可能な変数を変更すること、またはより具体的には、関数が定義されているスコープ外の変数へのアクセスを許可することについて話しています。
例:
この例では、関数が呼び出されたときに で定義されfunc
た変数にアクセスできるようにしたいと考えています。ただし、スコープと実行コンテキストが Javascript でどのように機能するかにより、そのようには機能しません。test
callFunciton
呼び出しの実行コンテキストでcallFunction
呼び出される変数を挿入する方法を探しています。test
callee()
この最小限の例では、test をパラメーターとして func() に追加することはもちろん可能です。
ただし、私のユースケースは、プラグイン インフラストラクチャを備えたフレームワークです。プラグインは、コールバックと、それらが受け取るパラメータをパラメータ タイプとともに指定できます。フレームワークは、要求されたデータを要求された型に変換し、それらをコールバックに提供します。これは、プラグインに対して完全に透過的に発生するはずです。
擬似コード:
プラグイン
フレームワーク
これまでのところ、この問題に対する 3 つの解決策を見つけましたが、どちらも好きではありません。
- コールバックでパラメーターを定義し、関数宣言での順序でインデックス付けされた callbackParams でそれらの型のみを定義します。欠点: パラメータは 2 つの場所で宣言する必要があります。
- コールバック
this.paramname
の代わりに使用し、`handleEvent() で使用します。短所: プラグインに対して透過的ではありません。paramname
.call()/.apply()
handler.callback()
呼び出す前に変数をグローバルスコープに割り当て、handleEvent()
後で再度削除します。短所:非常に醜い回避策。
アイデア?
javascript - このJavascriptコードの問題(実行コンテキストにあると思います)
サイズ変更時に、コードで最初の if ステートメントを実行する必要があります:「これは小さすぎると思います」。2 番目のサイズ変更では、最初の代替を実行する必要があります:「これは大きすぎると思います」。1回しか実行されませんが、変数の調整がローカルのみで、2回目は固執しないためですか?
java - デッド スレッドは ExecutionContext や Java スレッド プールで置き換えられますか?
例外が原因でスレッドが停止すると、このスレッドはどうなりますか? スレッド プール内にある場合、新しいスレッドが生成されますか? scala の ExecutionContext で何が起こるのか興味がありますが、ExecutionContext は Java スレッド プールをラップするので、Java ユーザーも答えを知っていると思います。
たとえば、FixedThreadPool(100) をラップする ExecutionContext を作成した場合、1 つのスレッドが停止した場合、スレッド プールはそのスレッドを置き換えますか?
scala - IO に「最適な」ExecutionContext
Scala コードにいくつかの同期呼び出しがあります。私はそれらをblocking()コンテキストでラップしてからFuture:Future(blocking(syncCall()))でラップしましたが、使用するExecutionContextのタイプがわかりません。
多くの可能性があり、それが「最高」である ExecutionContext がないことを私は知っています。たくさんの情報があり、頭が混乱しているので、最悪の事態を選択しないために、いくつかの情報が必要です.
javascript - Javascript:グローバル実行コンテキストを持つコールバック関数がスコープ変数にアクセスできるのはなぜですか?
次のコードでは:
x は test にスコープされており、ここでコールバック関数が定義されています。cb()
logCb() 関数は x 変数にアクセスできないため、行にエラーがスローされると予想していました。
しかし、そうではありません。なんで?コールバック内の参照は割り当て中に作成され、実行中には作成されないようです-巻き上げを検討する場合、これは理にかなっていると思います-つまり、コンパイル中に、コールバック関数が「テスト」の先頭に巻き上げられ、テストの中で割り当てが発生します範囲?
実行はスコープと同じではないことを読みました。この記事: http://ryanmorr.com/understanding-scope-and-context-in-javascript/では、この文scope pertains to the variable access of a function when it is invoked and is unique to each invocation
はコールバックがテスト関数内から呼び出されることを暗示しているようです。
コールバック関数が呼び出された場所に関係なく、テストのスコープが設定されているように思われるためです。
私の質問は次のとおりです。
スコープと実行コンテキストを考えるとき、コールバック関数は定義と呼び出しの観点からどのように処理されますか?
javascript - ES6 IIFE と ES5 IIFE の実行コンテキストが異なるのはなぜですか?
タイトルについての質問が要約されています - これはコード例です:
アロー関数に関して、舞台裏で何が起こっているのでしょうか? 私が知る限り、ES5 でそのスコープが必要な場合は、次のように実行を空のオブジェクトにバインドする必要があります。