2016-09-13 4 views
2

これは本当にばかげた質問かもしれませんが、私は実際に答えをオンラインで見つけることはできません(少なくとも私は理解できません)、ベンチマークの結果は特定ベンチマークソフトウェアのlike theseです。Javaでのマルチスレッド化:異なるオペレーティングシステムは異なるパフォーマンスを提供しますか?

私は現在、UbuntuマシンでJavaマルチスレッドプログラムを開発しています。テスト目的でOfficeにWindows 10マシンがあり、プログラムはWindows 7マシンで実行されるはずです。生産ラインに接続されています。

このケースでは、Windowsマシンで使用したいので、私はUbuntuのパフォーマンスには関心がありません。私がWindows 10マシンでソフトウェアをテストすると、Windows 7 PCよりも速く動作するように感じられるだけで、Windows 7マシンには完全にアクセスできないので、私が知る限り、マシンはまったく同じハードウェアコンポーネントを持ち、同じJavaバージョン(常にJava 8の最終更新版)を実行します。

これは意味がありますか? Windows 7からWindows 10へのウィンドウを更新すると、Javaプログラムをよりうまく実行できますか?(スレッドを最適化することによって?)この質問は純粋な推測に基づいており、実際のデータは全くないので、理にかなってもごめんなさい。

ご利用いただきありがとうございます。

+0

Windows 10とWindows 7マシンのハードウェアは同じですか? –

+4

パフォーマンスに関しては、測定してください。感情のために行かないでください。 – Codo

+2

申し訳ありませんが、これは**道**が広すぎます。そして、あなたは知っている、通常、私はそのような質問の答えを恥ずかしがり屋ではない。しかし、あなたのケースでは、答えはイエス、ノー、おそらく、確かに、決して決してありません。事は誰にも分かりません。本当に意味をなさない唯一の事柄です。** measure **。明確に定義されたテスト設定を作成し、繰り返しテストを実行します。あなたが得るものを見てください。それ以外は純粋な推測であり、真実の価値はありません。 – GhostCat

答えて

1

スレッド実行の順序は、OSによって処理される他のプロセスの影響を受ける可能性があるJVMによって保証されません。

+0

申し訳ありませんが、これがどのように問題に対処しているのかわかりません。実行命令とは何が関係していますか? – Gray

+0

私は実際にこれが最高の答えであり、シンプルで直接的だと思っています。マルチスレッドのJavaアプリケーション/プログラムで異なるOSがパフォーマンスに影響を与えるかどうかを知りたかっただけです。私のソフトウェアが特に影響を受けているかどうか尋ねられませんでした。コードや実際のデータ(私は許可されていないため)も提供していませんでした。 – Tuzane

1

はいOSは、JavaスレッドがJVMのスレッドで実行されるため、スレッドのパフォーマンスに影響を与えます.JVMは実際には、実行するOSからスレッドを割り当てられます.JVMはプロセッサのスレッドと直接対話できません。 マルチスレッドプログラムのパフォーマンスは、それぞれのJVMにスレッドを割り当てる基礎となるOSによって影響されます。

+0

JavaスレッドはJVMのスレッドです。これらは、OSのスレッドプリミティブを使用して実行されます。また、プロセッサにはスレッドがありません。スレッドはプロセッサ上で実行されます。 – Gray

関連する問題