最近「同時実行ランタイム(Concurrency Runtime )」に関するドキュメントを読みましたが、
簡単そうで複雑です。
、もし「Concurrency Runtime」によってこれまでのmulti-threadのやり方を完全に置き換えられるなら
勉強する意味があるかと思いますが、なんでもかんでも、必ず「Concurrency Runtime」のほうはこれまでのmulti-threadのやり方より優れるのでしょうか。
http://msdn.microsoft.com/ja-jp/library/dd504870.aspx
http://msdn.microsoft.com/ja-jp/library/dd998048.aspx
http://msdn.microsoft.com/ja-jp/library/ee207192.aspx
上記ドキュメントを読む限り、「Concurrency Runtime」は100%の美人で、
これまでのthreadやmulti-threadの生成、管理法及び利用法が淘汰されるべきという印象しか受けていません。
少なくとも、これまでのthreadやmulti-threadのやり方をもう直接利用すべきではないような感じですね。
果たして、
Q1: なんでもかんでも、必ず「Concurrency Runtime」のほうはこれまでのmulti-threadのやり方より実行速度的に優れるのでしょうか。
Q2: これまでのmulti-threadのやり方で出来るが、「Concurrency Runtime」で出来ない事はないでしょうか。
皆さまのご意見を拝聴させていただければ幸甚に存じます。
同時実行ランタイム(Concurrency Runtime )について
Re: 同時実行ランタイム(Concurrency Runtime )について
そんなことはないですし、ドキュメントにもそんなことは一言も書いてありません。若葉 さんが書きました: Q1: なんでもかんでも、必ず「Concurrency Runtime」のほうはこれまでのmulti-threadのやり方より実行速度的に優れるのでしょうか。
スレッドのほうが低レベルのAPIなのですから、当然低レベルのAPIでしか出来ないことはあるでしょうね。そういうケースが頻繁にあるかどうかは別の話ですが。若葉 さんが書きました: Q2: これまでのmulti-threadのやり方で出来るが、「Concurrency Runtime」で出来ない事はないでしょうか。
あとC++の標準ライブラリではないのでstd::threadなどを使う場合に比べて移植性は低下します。
Re: 同時実行ランタイム(Concurrency Runtime )について
お返答ありがとうございます。
> スレッドのほうが低レベルのAPIなのですから、当然低レベルのAPIでしか出来ないことはあるでしょうね。
そうですか。
ただ、「」に関する説明文書の中に「stealingテクノロジー」が良く出て、
これで並列実行全体が能率よくなるような感じですけれども、
似たものは「低レベルのスレッドAPI 」にあるでしょう。
また宜しくお願い致します
> スレッドのほうが低レベルのAPIなのですから、当然低レベルのAPIでしか出来ないことはあるでしょうね。
そうですか。
ただ、「」に関する説明文書の中に「stealingテクノロジー」が良く出て、
これで並列実行全体が能率よくなるような感じですけれども、
似たものは「低レベルのスレッドAPI 」にあるでしょう。
また宜しくお願い致します