C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのマルチスレッド


スレッドは、プログラムの実行パスとして定義されます。各スレッドは、contrの一意のフローを定義します。

C#では、System.Threading.Threadクラスはスレッドの操作に使用されます。マルチスレッドアプリケーションで個々のスレッドを作成してアクセスできます。プロセスで実行される最初のスレッドは、メインスレッドと呼ばれます。

スレッドのライフサイクルは、System.Threading.Threadクラスのオブジェクトが作成されたときに開始し、スレッドが終了または実行を完了したときに終了します。

以下は、スレッドのライフサイクルにおけるさまざまな状態です-

  • 未開始の状態 −スレッドのインスタンスが作成されたが、Startメソッドが呼び出されていない状況です。

  • 準備完了状態 −スレッドを実行する準備ができてCPUサイクルを待機している状況です。

  • 実行不可能な状態 −スレッドは実行可能ではありません

    • スリープメソッドが呼び出されました
    • 待機メソッドが呼び出されました
    • I/O操作によってブロックされています
  • デッドステート −スレッドが実行を完了するか中止される状況です。

以下は、C#でスレッドを作成する方法を示す例です-

using System;
using System.Threading;

namespace Demo {
   class Program {
      static void Main(string[] args) {
         Thread th = Thread.CurrentThread;
         th.Name = "MainThread";

         Console.WriteLine("This is {0}", th.Name);
         Console.ReadKey();
      }
   }
}

出力

This is MainThread

  1. 6G:それは何であり、いつそれを期待するか

    5Gネットワ​​ークはまだ世界中に展開されており、世界中の多くの地域で4Gネットワ​​ークや3Gネットワ​​ークさえも使用されているため、6Gという用語を捨てるのは少し早いようです。 。結局のところ、5Gネットワ​​ークを使用できる人が比較的少ない場合、6Gネットワ​​ークにはどのような用途がありますか? とはいえ、テクノロジーは常に進歩しており、標準が成熟するまでには長い時間がかかるため、私たちは常に6Gの世界への道を歩んでいます。どちらかといえば、5Gの開発の初期の6Gのアイデアは、このテクノロジーがどれだけ早く進歩するかを示しているにすぎません。比較的短い時間で1Gから5Gに移行できた

  2. マルチスレッドでのJavaスレッドの優先順位

    マルチスレッドの状況では、スレッドスケジューラは、優先度に基づいて特定のプロセスにスレッドを割り当てます。 Javaスレッドには、事前に割り当てられた優先度があります。これに加えて、Java仮想マシンは、スレッドに優先順位を割り当てたり、プログラマーによって明示的に与えられたりすることもできます。スレッドの優先度の値の範囲は、1から10(両端を含む)です。優先度に関連付けられている3つの静的変数は-です。 MAX_PRIORITY-スレッドの最大優先度。デフォルト値は10です。 NORM_PRIORITY-スレッドが持つデフォルトの優先度。デフォルト値は5です。 MIN_PR