問題タブ [fiber]
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.
c++ - セグメント化されたスタックを他のライブラリで自由に使用できますか
私が理解しているように、セグメント化されたスタックはコンパイラのサポートで構築されているため、セグメント化されたスタックで実行されている関数が別の関数を呼び出すたびに、スタックにその新しい関数のスタックフレームに十分なスペースがあるかどうかを最初にチェックします。そうでない場合は、別のセグメント化されたスタックがアタッチされ、コードがその関数に分岐します。
しかし、たとえば、ファイバーを実行していて、-fsplit-stack
オプションでコンパイルされていない別の共有 (または非共有オブジェクト ファイルにコンパイル) ライブラリから別の関数を呼び出した場合、これは機能しますか? そのライブラリの関数は、セグメント化されたスタックに続行するのに十分なスペースがあるかどうかを確認する必要があることをどのように認識していますか?
clang と gcc の実装 (特にブースト コンテキスト) にのみ関心があります。
java - JNI内でファイバーを呼び出すと、JVMでStackOverflowがスローされるのはなぜですか?
ここも難しい問題だと思います。とにかくやってみたい。
Java内のネイティブブーストファイバーを移植するミニプロジェクトJNIを実現しました。
これはJNIインターフェースです
これはJavaテストです
このコードを実行すると
fiber.join() を削除し、fiber.detach(); を追加すると、
mongodb - [ '解析エラー: ファイバーなしでは待てません' ]' Metor 内で検索を実行しようとすると
websockets 経由で JSON データを受信するとき、このデータを meteor 内の mongodb にフィードしようとしています。JSON データは正常に取得されていますが、データがデータベースに既に存在するかどうかを確認しようとすると、エラーが発生し続けます: "[ 'Parse error: Can\'t wait without a fiber' ]'.
これを解決するために誰かが私を正しい方向に向けることができますか?
どうもありがとう、ルーファス
c++ - ファイバーのユースケース
私は、ファイバー、またはグリーンスレッド、またはユーザーランドスレッドに付けることができるその他の名前について多くのことを読んでいます。ドキュメントとチュートリアルを読み始めました (これらは C++ リンクですが、特定の言語は必要ありません)。
しかし、どうも繊維の本質が掴めていないようです。ファイバーが協調的にマルチタスクを行う方法であることは知っていますが、実際のケースでのスレッドとファイバー間の相互作用に関するドキュメントは、私が見つけた限りではほとんどありません。
ファイバーの実際の使用例は何ですか?
たとえば、すべてのドキュメントは実際には非同期 I/O を例として使用していますが、I/O バウンドの問題がない場合はどうでしょうか? たとえば、私の問題が巨大なファイル内の単語を数えている場合はどうなりますか? ここでは、ファイルをスレッド間で分割するだけですが、ファイバーは何らかの形で役立ちますか? 数値問題 (行列/ベクトル演算など) などの CPU 依存の計算はファイバーには適していないと思いますが、これも完全に間違っている可能性があります。