stdthread

    0

    1答えて

    バックグラウンドスレッドを開始できるベースクラスがあり、必要なときに停止します。そのスレッドは、2つの仮想メソッドOpen()とClose()を呼び出します。したがって、継承されたすべてのクラスはこのメソッドを再実装できますが、スレッドルーチンを開始/停止することはできません(例よりも難しい)。私は基本クラスのコンストラクタ/デストラクタでスレッドを開始/停止するRAIIの原則に従いたいと思います

    0

    1答えて

    以下に示すように、基本クラスメソッド内からスレッドを生成するときは、純粋仮想メソッド実装を呼び出す必要があります。 #include <iostream> class Foo { private: std::thread tr; public: virtual void baz() = 0; void foo() { this->

    -1

    2答えて

    私はstd :: threadインスタンスを作成すると、いつ破壊されますか?スレッドがそのタスクを終了してから、それが破壊されるか、それはもはや使用されなくなると破壊される通常のオブジェクトとして機能しますか? //a fake function for std::thread void func(); void main() { auto threadPtr = std::mak

    0

    1答えて

    競合状態またはメモリ破損の正確な原因を突き止めるのに問題があります。問題を解決する私の試みは、コードの後に​​表示されます。 私は次の構造を持っている:コードを実行するには class A { protected: // various variables // 1. vector that is assigned value on B, C, D constructor

    1

    1答えて

    大きな文字配列(614400)と高性能ビデオストリーミングアプリケーション(1フレームで100fps、10ms)があります。 1つのフレームで、私のフレームを修正し、この8つのスレッドに使用する必要があります。 より速いもの: 1.スレッド1のすべての要素に1、アクセスします。 e。 g。スレッド1(1,2,3、... n) スレッド2(n + 1、n + 2、... n * 2) ... 2次ア

    5

    2答えて

    私は多くの例がstd::mutexを使用しているのを見ましたが、ここでmutexはグローバルです。これがなぜ行われたのか、具体的な理由があるのでしょうか?私はこれをやっていない私自身のプログラムを持っていて、単にmutexをstd::threadstd::refとして渡します。グローバルを持つことは悪い習慣ではないですか?これを行う言語を制限する言語がない場合、std::mutexesはC++のグ

    1

    2答えて

    私のクラス/構造体にスレッドオブジェクトを作成したいが、宣言中にすぐに初期化したくない。 Inteadは後でそれをやりたいしたがって、以下のコードスニペットのように、このコンパイルエラーが発生しています。これをどうやって解決するのですか? エラーC2280: 'のstd ::スレッド::スレッド(CONSTのstd ::スレッド&)':私はこのエラーを引き起こすラインを観察した削除機能 を参照する

    0

    1答えて

    は、次のサンプルを見てみましょう、 #include <iostream> #include <thread> class GPS { public: GPS() { this->init(); } ~GPS() {m_thread.join();} private: std::thread m_thread; void init() { m_t

    1

    1答えて

    std::threadsの異なる設定のFortran90関数を実行したいと考えています。多くのモジュールを使用して設定や一般データを保存しています。私が見ている問題は、Fortranモジュールはシングルトンオブジェクトに似ていることです。 2つのスレッドで関数を呼び出すと、同じモジュールで動作します。 openmpのようにモジュールをthreadprivateにする方法はありますか?例えば は、O