3

Win32上のC/C++用のマルチスレッドリソースへのクイックポインタを探しています。シングルスレッドとマルチスレッドを使用した数値計算の相対的なパフォーマンスを比較することに興味があります。問題は現実の世界である必要はありませんが、相対的なパフォーマンスが重要でないほど些細な問題であってはなりません。私の最初の試みは、エラトステネスのシングルスレッドのふるいとアトキンのふるいを実装することでしたが、両方の比較的単純なマルチスレッドの例があると仮定しましたが、どれも見つけることができませんでした。私はマルチスレッドの専門家になりたくありませんが、これにはいくらかの努力が必要であることを受け入れます。私は約30時間のプログラミング時間の予算を立てました。RussinovichとSolomonによるWindowsInternalsのコピーと、RichterとNasarreによるC /C++経由のWindowsのコピーがあります。

依存関係の問題を回避するために例をできるだけクリーンに保つために、Boostなどの外部ライブラリを避けたいと思います。CLRの近くには行きたくない

コンテキストは、Excel用のdll / xllsを作成することです。これは、Excel 12 Microsoftがこれらの関数をマルチスレッド化できると主張しているため、これがどのように機能するかを調査したいと思います。

私はStackExchangeを1、2年オフにしていますので、優しくしてください。私が見つけたもののほとんどは、実装ではなく理論に焦点を当てているものの周りを少し探しました

4

2 に答える 2

1

Visual Studio では、OpenMP サポートを有効にできます。これにより、コードのループまたは領域を簡単に並列化できます。チュートリアルは簡単に見つけることができます。たとえば、こちら.

于 2013-01-25T16:21:13.357 に答える
1

WinAPIのマルチスレッド呼び出しに関するMSDN セクションは、ここで役立つでしょうか? それとも、もっと「チュートリアルのような」ものが必要ですか?

ステップインの例については、 CreateThread呼び出しのドキュメントで参照されている MSDN 記事「 Creating Threads 」を参照してください。

于 2013-01-25T12:55:04.677 に答える