問題タブ [dart-isolates]
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.
dart - Dart でいくつかの非同期 I/O アクションをクリーンに (Isolates) 実行するには?
DartにはIsolatesという概念があります。各呼び出し (データベース呼び出し) が前の呼び出しに依存する非同期 IO が多数あるアプリケーション (Dart で実験中) があります。そのため、ネストされたコールバック地獄に陥りました。
Isolates がそのネストされたコールバック スープを解決できるかどうか疑問に思っていましたが、少し冗長に見え、うまく適合するかどうかはわかりません。
これらの問題を解決できる次の ECMAScript Harmony で提案されているジェネレーターもありますが、現在、Dart で多くの非同期 IO をクリーンな方法で行うにはどうすればよいでしょうか?
communication - ダートは労働者として孤立
質問をより明確にするために編集されました。
DartでIsolates(またはWebワーカー)と連携しようとしています。メインスレッドと分離スレッドの間で通信するために私が見つけることができる唯一の方法は、送信して呼び出し、次にメインスレッドから送信することです。しかし、これはメインスレッドが一部のデータを分離に渡すための優れた方法です。
分離株を情報を生成するものにしたい場合はどうなりますか?ワーカー内のすべての物理演算を実行し、更新された世界情報をメインスレッドに送信するゲームエンジンのように?JavaScriptでは、いつでもデータを送信できます。Dartに効率的な方法はありますか?それとも、メインスレッドから呼び出されるのを待ってから、メインスレッドに渡す必要がありますか?
PS私は疑問に思います、応答が完了するまでスレッドを呼び出してブロックしますか?
dart - Dartのシャットダウンフック?
Dartプログラムが終了する前に、何らかのアクション(統計データのダンプ)を行う必要があります。プログラムはメソッドのメインが終了した後も続行されるため(他の分離もあります)、プログラムが終了した瞬間を正確に判断することはできません。
Javaでは、java.lang.Runtime.addShutdownHookを使用できます。Dartランタイムにも同様の機能がありますか?
dart - Dart アイソレートでのメッセージの順序
Scala でアクターを使用する場合、メッセージが送信した順序で到着するかどうかわかりません。dart のアイソレートは、メッセージが送信した順序で受信されることを保証しますか?
multithreading - Dart はマルチコア環境で分離を並行して実行しますか?
質問
Dart の分離は、複数のコア環境で利用可能なすべてのコアを利用して並行して実行されますか、それとも単一のコアで多重化されますか?
バックグラウンド
Google は、Dart プログラミング言語のアイソレート(単一スレッドの同時実行単位) を、ブロックせずにメイン スタックで動作する「軽量スレッド」と説明しています。
したがって、単一のコアでしか多重化できず、SMP、デュアルコア、マルチコア、またはクラスター化された環境で複数のコアで並列に実行できないように思えます。
ただし、これに関する情報が見つからないため、謙虚な質問です。
dart - コマンドライン引数をspawnUri()から新しい分離に渡すことは可能ですか?
spawnUri()を使用して新しい分離を開始するときに、コマンドライン引数をその新しい分離に渡すことは可能ですか?
例:コマンドライン:
app.dartで
other.dartで
SendPortを介してother.dartにデータを渡すことはできますが、特定の用途は、recievePortコールバックで作成されていない別のdartアプリ(pub.dartやその他のコマンドラインアプリなど)を使用することです。
dart - Dart Isolates 用に複数の送信ポートと受信ポートを持つことは可能ですか?
Dart で同じ Isolate に対して複数の送受信ポートを開くことは可能ですか?
たとえば、次のコード サンプルは、それぞれが独自の送信ポートを持つ 2 つの分離を作成します。ただし、同じ分離用に複数の送受信ポートを作成し、メッセージの送信先の受信ポートを選択する方法があるかどうか疑問に思っていました。
dart - dart:ioアプリからdart:htmlアプリにspawnUri()を実行できませんか?
これは可能ですか?つまり、試してみましたが、うまくいきませんでした。しかし、理論的にはそれは可能であるはずですよね?メッセージをやり取りしたり、メモリスペースを分離したりするだけです。
スロー:
dart - Dart - クロス ウィンドウ通信を分離する
Dart アイソレートとのクロスウィンドウ通信は可能ですか? これが私のシナリオです。ユーザーがブラウザー ウィンドウ A で Web サイトを開き、ウィンドウ A が新しい分離を生成します。次に、ユーザーはリンクをクリックして新しいタブを作成し、ブラウザ ウィンドウ B を開きます (リンクが同じドメイン内にあると仮定します...)。ブラウザ ウィンドウ B は、ブラウザ ウィンドウ A によって生成された分離からメッセージを送受信できますか?
dart - Dartサーバーは定期的にチェックします
'checkServer'を5秒間隔で実行しようとしています。ただし、「サーバーは正常です」は1回だけ実行されます。機能を繰り返すには何をする必要がありますか?