問題タブ [stdasync]

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.

0 投票する
1 に答える
74 参照

multithreading - 抽象基本クラス内での c++11 の std::async の使用

このようなスレッドを抽象基底クラス内で動作させないのはなぜですか? この基本クラスから派生したユーザーのために、マルチスレッドの詳細をすべて抽象化しようとしています。callbackSquaretype を返すと明確に書いたときに「「タイプ」という名前のタイプはありません」と表示される理由がわかりませんint

私が得ている奇妙なエラーは次のとおりです。

0 投票する
2 に答える
155 参照

c++ - gcc 4.6.3 の std::async に移動された shared_ptr の use_count()

以下のコードでは、use_count()を にshared_ptr移動しstd::asyncます1


私のプラットフォームは gcc 4.6.3 を使用しており、上記のコードは次の出力 ( fun: sp.use_count() == 2)を提供します。


coliru.stacked-crooked.comでは、希望する動作が得られます ( fun: sp.use_count() == 1):


coliru がどのコンパイラを使用しているかはわかりませんが、gcc 4.6.3 よりも新しいものだと思います。

gcc 4.6.3 からコンパイラをアップグレードしなくても、希望する動作を実現する方法や回避策はありますか?

0 投票する
2 に答える
220 参照

c++ - Can long-running std::asyncs starve other std::asyncs?

As I understand it, usual implementations of std::async schedule these jobs on threads from a pre-allocated thread pool.

So lets say I first create and schedule enough long-running std::asyncs to keep all threads from that thread pool occupied. Directly afterwards (before long they finished executing) I also create and schedule some short-running std::asyncs. Could it happen that the short-running ones aren't executed at all until at least one of the long-running ones has finished? Or is there some guarantee in the standard (specifically C++11) that prevents this kind of situation (like spawning more threads so that the OS can schedule them in a round-robin fasion)?