問題タブ [packaged-task]
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++ - packaged_task とスレッドを使用したデータ競合の可能性
最近valgrind --tool=helgrind
、自分のプロジェクトを実行したところ、「データ競合の可能性がある」という警告が表示されました。これは懸念事項だと思いました。ただし、この単純なテスト プログラムでも、次のメッセージが表示されます。
でコンパイルするとg++-4.9 -p -g -std=c++11 -pthread -O3 test.cpp
、 の出力valgrind --tool=helgrind ./a.out
は次のようになります。
私の質問: これを無視しても安全ですか? もしそうなら、これらの警告を抑制する方法は?
c++ - packaged_task を設定する適切な方法
以下のプログラムをコンパイルすると、次のエラー メッセージが表示されます。
エラー 1 エラー C2228: '.get_future' の左側にはクラス/構造体/共用体が必要です c:\users\haliaga\documents\visual studio 2010\projects\test\test\accumulateexceptionsafe.cpp 62 1 テスト
これは実際には本当の問題ではありません。
行をコメントする場合:
「tasK」が呼び出されなかったことを示す以下の警告が表示されます。
*警告 C4930: 'std::packaged_task<> task(accumulate_block (__cdecl )(void))': プロトタイプ化された関数が呼び出されませんでした (意図した変数定義でしたか?) 1> with 1> [ 1> =int (std::_List_iterator >>,std::_List_iterator>>), 1> イテレータ=std::_List_iterator>>, 1> T=int 1> ]
指定する適切な方法は次のとおりです。
?
ありがとうございました
PS:コードの下を見つけてください:
c++ - クラス内の std::bind(func, this) を使用した std::packaged_task
ここで問題を切り分ける小さなスニペットを用意しました。ここにあります :
GCC はこれをコンパイルしたくなく、次のように述べています。
私はこの仕事をしようとして燃え尽きそうです。コンパイラのエラー メッセージは私にとって完全にゴミなので、完全に道に迷っています。これを達成する方法を助けてください。
私の実際のプロジェクトでは、std::thread(std::move(task) など) で packaged_task を使用しています。
ありがとう!
c++ - メンバー関数を使用して packaged_task を作成するにはどうすればよいですか?
以下のプログラムでは、メンバー関数を使用して packaged_task を作成しようとしています。
残念ながら、この試みはエラーになります。
これはどのように行うことができますか?
c++ - c++: packaged_task を使用して async をビルドする
packaged_task で非同期を実装しようとしています。テンプレート化された関数 bsync を使用してこれを試みています。bsync は、関数 f とパラメータ パック args の 2 つの引数を取り、future を返します。future は f(args...) によって返される型です。つまり、リターンは未来です
私はほとんどそこにいると思いますが、型変換エラーが発生しています。どんな助けでも大歓迎です:
c++ - c++: promises 経由の packaged_task
promise を使用して、packaged_task をテンプレート クラスとして実装しようとしています。
私のコンパイル エラーは、削除された関数を参照していると言っています。コピーおよび/または移動のセマンティクスを実装する必要があると思われますが、どのように、どこから始めればよいか混乱しています。どんなアドバイスでも大歓迎です: