詳細なプロセス、スレッド、マルチスレッドの概念

序文

  スレッドの最近の理解は非常に混沌とした感じなので、戻って、知識のスレッドをコーミングゼロからスタート。

  出会いの問題は、停止して、過去に行っ私の仕上げを振り返る、学習道路への電流が、あなたは突然の光を見てみましょうことができるかもしれません。

  以下の説明は、シングルコアプロセッサに基づいています。

どのようなプロセスがありますか?

  プロセスインスタンスを実行して、それは(例えば、メモリ空間など)オペレーティングシステムにリソース・アプリケーション・プログラムの基本単位です。

Windowsオペレーティングシステムのタスクマネージャを開き、あなたはすべてのプロセス既存のシステムのプロセスを見ることができるメニューをクリックしてください。

たとえば、Word文書には、実行中のプロセスです。人生は、コード、コードの実行からロードの通常のプロセスを通過します

コードの実行への完全なプロセスが完了しました。このプロセスは、プロセス自体、最終終焉の実装のプロセスから生成されます。

:コンソール印刷HelloWordを - あなたはまだよく理解されていないと感じる場合は、例をあげて、Java関連

パブリック クラスのHelloWorld {
     公共の 静的な 無効メイン(文字列[] args)を{ 
        
        System.out.printlnは( "こんにちは、世界。" ); 
        
    } 
}

実行している場合、コード(Javaアプリケーションとして実行]をクリックします)、彼らはコンパイルされたコードをロードするためのプロセスが生成されます、

その後、実施の終焉が完了した後のタスクは、こんにちは、世界を印刷行います。

  オペレーティングシステムは、進捗状況の多くを持っていますが、同時に、一つのプロセスだけ実行することができます。プロセスの後、必ずしも生産しません

プロセッサリソースを割り当てる必要に実行し、すぐに実行することができます(これは、プロセススケジューリングの概念に関連している、おそらくあなたが行くことができるかわからない見つけるために)。

どのようなスレッドですか?

  スレッドは、最小の実行可能なプロセスユニットです。スレッドは、さらにプロセスに基づいて行わ分割され、プロセスは、唯一のスレッドであることができます

また、複数のスレッドが含まれていてもよいです。Wordを使用している場合、スペルがある場合たとえば、タイピングがスレッドであると仮定すると、スレッドのタスクは、タイピングです

エラーは、Wordは以下の赤で間違った単語を描画します。だから、事実上の世界を起動するすべてのオペレーティングシステムは、プロセスを作成することで、

この処理プログラムスレッドである(例えば、スペルチェックなど)を実行している他の多くのプログラムがあります。Wordが閉じている場合、これらの

スペルチェッカーのスレッドが消えます。一方、その後、Wordは必ずしもプロセスが消えることはありません、消えるスペルチェック。

なぜマルチスレッドを使うのか?

  タイピングやWordの例としては、通常、ほとんどのショーで同じスペルエラーで、スペルミスの時代に、Wordを使用しています。

タイピングが現在のスレッドのWordのプロセスなので、あまりにもスペルチェック。私たちが入力しているときに、「同時に」実行されているスペルチェック、

これは、利点は、あなたがすぐにタイプミス、タイムリーがある知ることができるということである持っています。文書に書かれている場合は、その後、スペルチェック、

ユーザーのために非常に悪い経験になります。このマルチスレッドの利点の1つは、 - システムの応答性を向上させます。 

利点:

1.システムのスループットを向上させます。例:サイトが受け入れ、複数の要求を処理することができます。
2.システムの応答性を向上させること。例:ファイルをダウンロードすると、他の操作を行うことができますが、状況はダウンロードする必要はありませんしながら、彼らが行うことができます前に完了しています。
3.システムリソースの使用量を最小限に抑えます。複数のスレッドがリソースのプロセスを共有することができます。

同時に複数のスレッドが実際にそれを実行していますか?

  答えはノーです - ではありません。システムを取得するためのプロセスは、実行するプログラムを選択するために、スケジューラプロセスをプロセッサリソースを割り当てた後、

同時に、一つのスレッドだけが実行を処理します。ただ、システムの処理速度が非常に高速で、感覚が視覚的に同時に実行されています。

要約:

  概念を理解することが、最も重要な技術基盤を学び、マルチスレッドプログラミングを習得するための鍵です。

私はノートをスケジュールするスケジューリングやスレッドを処理したかったが、唯一の漠然との内容のこの部分。

今回は良い学校「コンピュータのオペレーティングシステム、」このコースを持っている大学で非常に多く、自分のようになります。

コンピュータサイエンスでは、プロセスのスケジューリングとスレッドのスケジューリングは、基礎と見なさ。

  早業は、すべてが返済し、怠惰を盗みました。お互いを奨励します。

 

おすすめ

転載: www.cnblogs.com/chaojizhengui/p/javaThread.html