C/C++でユーザーレベルスレッド(ULT)のOSに依存しないスレッドモデルを実装することは可能ですか?言い換えれば、プロセスを論理的にULTに分解し、それらの間にスイッチを動的に作ることができますか?OSに依存しないC++でのスレッド化?
答えて
Boost.Threadは、プラットフォーム間のスレッド化にかなりの抽象度を提供します。
そして今後のC++ 0x標準では、OSに依存しないスレッドが自動的に 'std :: thread'となります。 –
これを知ってよかったです。だから、Javaのような言語機能になりますか? – mihsathe
@mihsathe、はい。 –
OpenMPは、多くの一般的な使用例でスレッドを処理するうえで便利です。
POSIXスレッドを使用してください。 Windowsをサポートする必要がある場合、Windowsに合理的に適合する実装があります。
Cでは、(POSIXが必要です)ユーザレベルのスレッドライブラリはGNU Pthです。プリエンプションの代わりに協力を使用し、スレッドごとのスタックやその他の構造をユーザー空間に実装します。予想通り、これはではなく、はOSレベルのスレッドと同じパフォーマンス特性を提供します。しかし、それは同じ抽象化のいくつかを提供します。 Windows上で
このライブラリの移植性の主張は、最後に私がチェックしたところ、かなり笑われました。 –
7独自のユーザーモードスケジューラを実装する方法があります: http://msdn.microsoft.com/en-us/library/dd627187%28v=vs.85%29.aspx
これはbasecallyユーザーモードスケジューラを使用してユーザーモードのスレッドを作成するためのAPIで、最高のものは、プロセスエクスプローラを開いていると、カーネル時間0を参照してください。
私は正常にUMSを実装した人を知っていますが、マイクロソフトはAPI上でいくつかのエラーを報告しました。 。 。
ZThreadはクロスプラットフォームのC++ライブラリです。
C++での考えvol 2では、このライブラリを使用してマルチスレッドアプリケーションを説明しています。
- 1. 印刷OSに依存しないアーキテクチャに依存しない方法
- 2. のOS Xは、迅速なビルドパッケージマネージャは、OS XエルキャピタンにunixODBCのC依存性
- 3. OS /プラットフォームに依存しないライブラリはどれですか?
- 4. Macアドレス - C++ - プラットフォームに依存しない
- 5. モニター開いているファイルは、Javaで扱う - OSに依存しない
- 6. Cargo.toml OS依存関係Crate
- 7. C#10進数の文化的な依存です
- 8. ウェブサイトのレンダリングはOSに依存していますか?
- 9. C#はjsonを依存関係なくシリアル化しますか?
- 10. C++ラムダ式スレッドのスレッド化
- 11. データベースに依存しないデータベースの暗号化
- 12. OSに依存しないノートパッドをいくつかのコード補完 - 適切なプラットフォームでビルドしますか?
- 13. NPM package.jsonのOS非依存グラントスクリプトコマンド
- 14. 複数OSのjnetpcap依存関係
- 15. npm package.json OS固有の依存関係
- 16. Files.walk()OS非依存の問題
- 17. 初期解に依存しない最適化アルゴリズム
- 18. C言語に依存しないgotoxy()関数の作成
- 19. インストールに依存しないVisual C++プロジェクトのプロパティ
- 20. C#Excel VBAのモジュール名が言語に依存しない
- 21. Objective-Cのスレッド化
- 22. 言語/プラットフォーム/ビルドに依存しない依存マネージャ
- 23. JavaスレッドとOSスレッド
- 24. プラットフォームに依存しないバイナリファイルI/OのためのC/C++ライブラリ
- 25. Python:利用可能なストレージデバイスのOS非依存のリスト
- 26. リアクションのレンダリングプラットフォームに依存しないラッパー
- 27. コマンドラインプログラムのプラットフォームに依存しないシステムロック
- 28. システムに依存しないマシンのシャットダウン
- 29. C#スレッド化パークドCPU?
- 30. アーキテクチャ依存しないコード
私はこれを尋ねたときに私が得たものを調べたいかもしれません:http://stackoverflow.com/questions/4298986/is-there-something-to-replace-the-ucontext-h-functions – zneak