condition-variable

    0

    1答えて

    私はtaskのクラスを持っています。私はtask_storage親クラスに含まれる約10-15のタスクを持っています。 task::execute()内部Iがゼロに到達するためにアトミック変数を待つ必要があります。 void task::execute() { for_subtasks([this] { thread_pool.post([this]

    0

    1答えて

    条件を関数内に入れようとしていますが、コンパイル時にエラーが混乱しています。私がこの[] {retur i == k;}のようなラムダ関数で書くと、kが未確認であることを示しています。誰もこの問題を解決する方法を伝えることができます。 #include <iostream> #include <mutex> #include <sstream> #include <thread> #inc

    6

    2答えて

    2つのスレッドと1つの共有C++ 11条件変数があるとします。 thread1の呼び出しが通知され、その後にthread2の呼び出しが待機する場合はどうなりますか? スレッド2は永遠にブロックされますか、それともthread1による通知の呼び出しのために作業を続行しますか? 編集: enum bcLockOperation { bcLockOperation_Light = -1,

    0

    1答えて

    マスタスレッドと複数のワーカースレッドがあるプログラムを作成しようとしています。ワーカースレッドは共有キューに自身を登録し、マスタースレッドからの信号が移動するのを待ちます。マスタースレッドはキューの先頭をチェックし、それ自身の特定の条件変数を使用してスレッドを通知し、移動します。ここで私が今持っている擬似コードは、このコードの構造体で struct condition{ pthread_con

    8

    3答えて

    mutexが条件変数で使用されたときに何が起こるのかを理解しようとしています。次の例で 、ミューテックスのロックが解除される前に、プロデューサスレッドはcond_var.notify_one()を呼び出しcppreference int main() { std::queue<int> produced_nums; std::mutex m; std::condit

    0

    1答えて

    QtのQNetwork *クラスで「同期的な」コールを行うアプリがあります。さまざまなソースからオンラインで適応されたコードは、次のようになります。 QNetworkRequest request("http://www.somedomain.com"); QNetworkReply* pReply = _manager->get(request); // A not-so-great-so

    8

    4答えて

    現在、Producer-Workerの拡張モデルをシミュレートする問題に取り組んでいます。この問題には、3人の作業者と3人の作業者があり、作業者は2人の作業者が必要です。ボールトに> = 2のツールがある場合、ワーカーは2をとります。そうでなければ、> 2のときに通知される条件変数を待ちます。 これは2人の作業者にとっては問題ありません.1人は作業してからツールをボールトに戻し、もう1人の待機中の

    5

    2答えて

    std::condition_variableが追加のstd::mutexをパラメータとして必要とする理由を本当に理解しているかどうかわかりませんか?自己によってロックしてはいけないのでしょうか? #include <iostream> #include <condition_variable> #include <thread> #include <chrono> std::condi

    10

    2答えて

    は、私はC++でのスレッドプールを開発しようとすると、ワーカースレッドのメインループで)(スレッドを生成するか、条件変数を待つ方が良い場合、私は疑問に思う: void worker_thread(void) { // this is more or less pseudocode std::unique_lock<std::mutex> lk(mutex_); w

    1

    1答えて

    http://www.math.uni-hamburg.de/doc/java/tutorial/essential/threads/explicitlocks.htmlから取得したプロデューサコンシューマの例を実行しようとしていますが、コードは以下のとおりです。私はそれを実行すると、それはちょうど2回実行され、ぶら下がっているようです。コードは、ロックを解除し、適切に信号を送るようだ、誰かが私が