ページ 11

同時実行ランタイム(Concurrency Runtime )について

Posted: 2014年11月07日(金) 10:26
by 若葉
最近「同時実行ランタイム(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」で出来ない事はないでしょうか。

皆さまのご意見を拝聴させていただければ幸甚に存じます。

Re: 同時実行ランタイム(Concurrency Runtime )について

Posted: 2014年11月07日(金) 12:26
by h2so5
若葉 さんが書きました: Q1: なんでもかんでも、必ず「Concurrency Runtime」のほうはこれまでのmulti-threadのやり方より実行速度的に優れるのでしょうか。
そんなことはないですし、ドキュメントにもそんなことは一言も書いてありません。
若葉 さんが書きました: Q2: これまでのmulti-threadのやり方で出来るが、「Concurrency Runtime」で出来ない事はないでしょうか。
スレッドのほうが低レベルのAPIなのですから、当然低レベルのAPIでしか出来ないことはあるでしょうね。そういうケースが頻繁にあるかどうかは別の話ですが。
あとC++の標準ライブラリではないのでstd::threadなどを使う場合に比べて移植性は低下します。

Re: 同時実行ランタイム(Concurrency Runtime )について

Posted: 2014年11月07日(金) 13:05
by 若葉
お返答ありがとうございます。

> スレッドのほうが低レベルのAPIなのですから、当然低レベルのAPIでしか出来ないことはあるでしょうね。
そうですか。
ただ、「」に関する説明文書の中に「stealingテクノロジー」が良く出て、
これで並列実行全体が能率よくなるような感じですけれども、
似たものは「低レベルのスレッドAPI 」にあるでしょう。

また宜しくお願い致します