問題タブ [boost-signals]
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++ - boost::signal でのプログラムのクラッシュdtor
私は非常に複雑なソフトウェアを使用しており、ランダム クラッシュ (主にリリース モードであり、SSCCE を簡単にビルドできません) が発生し、 のデストラクタでクラッシュを追跡しましたboost::signal1<event>
。
そのシグナルオブジェクトは、いくつかのオブジェクトによって使用(購読/購読解除)され、マルチスレッドソフトウェアで使用されます(つまり、複数のスレッドで送信し、複数のスレッドで受信します)。
それはスレッドセーフだと聞きましたboost::signal2
が、症状の説明に関して、あなたは私と同じ気持ちですか? Signal2を使用する必要があること
signal2 のブーストの再構築を開始するので、コメント、感想、フィードバックを歓迎します!
c++ - 可変個引数テンプレートなしでブースト信号を使用する
可変個引数テンプレートが適切にサポートされていないため、Boost.Signals2 がインテル® C++ コンパイラーで動作しないことを知って、かなり不愉快な驚きを覚えました。だから私の質問は - どうすればそれらなしでやり遂げることができますか? 方法はありますか?
c++ - 「boost::signal」に何らかの条件を追加することは可能ですか?
に何らかの条件を追加することは可能ですかboost::signal
。いくつかのブール関数を取得する場合があり、信号を発行するときに、関数が true を返すかどうかを確認してから発行する必要があります。
いろいろなところに発射されるので、発射中の状態をチェックしたくありません。また、スロットの状態を知る必要がないため、スロットの状態を確認したくありません。
c++ - boost::signals2 でスロットの実行を「制御」する方法はありますか?
boost::signals2 を使用して NotificationCenter に取り組んでいます。
Reactor のようなシステムに統合する必要があり、懸念があります...シグナルにサブスクライブしているハンドラーが多すぎる場合は、サブスクライバーのハンドラーの実行を停止し、フロー制御を Reactor に戻して無応答にならないようにしたいと考えています。時間が長すぎて、後で実行を再開します...
これを実装する方法はありますか?
私はコンバイナーを見てきました...しかし、それは正しい方法ではないと思います...
どんなアドバイスも歓迎します
前もって感謝します。
c++ - boost::signals2::trackable をラムダで使用する
私はこのようなパターン、C++ 11 を使用しています:
FooViewController はdoWork
、完了する前に分解し、クラッシュを引き起こす可能性があります。boost::signals2 を見てboost::signals2::trackable
、シングル スレッドの目的に最適な を使用することを考えています。これは、接続を直接保持および管理する必要がないという利点がありますが、そのようなものを取得する方法がわかりませんラムダで動作するソリューション。
これは、動作するラムダフリーバージョンです:
2 つの目標:
1-- 私は次のようなことをしたいと思います:
test
取り壊された後にラムダを呼び出すことはありません。
2-- から返された接続オブジェクトを直接管理したくありません.connect
。