ホームページ  >  記事  >  バックエンド開発  >  C#のマルチスレッド機構に関する予備検討(2)

C#のマルチスレッド機構に関する予備検討(2)

黄舟
黄舟オリジナル
2016-12-21 14:59:191296ブラウズ

次にスレッドを作成しましょう。Thread クラスを使用してスレッドを作成する場合は、スレッド エントリを指定するだけです。スレッド エントリにより、プログラムはこのスレッドに何を実行させるかを知ることができます。C# では、スレッド エントリは ThreadStart デリゲートを通じて提供され、呼び出し時にスレッドによって実行される関数を指します。 Thread: Start() メソッドの後、スレッドは ThreadStart によって表される、または指定される関数の実行を開始します。

VS.net を開き、新しいコンソール アプリケーション (コンソール アプリケーション) を作成すると、スレッドを完全に制御する無限の楽しみを体験できます。

//ThreadTest.cs

using System;
using System.Threading;

public void Beta()

{
while (true) {
Console.WriteLine("Alpha.ベータ版が稼働中独自のスレッド。");

public class Simple
{
public static int Main()
{
Console.WriteLine("Thread Start/Stop/Join Sample");

Alpha oAlpha = new Alpha(); Thread (new ThreadStart(oAlpha.Beta));
oThread.Start();

Thread.Join() ; console.writeline(alpha.betaが終了しましたrestarted.");

Console.ReadLine();
}
return 0; 、作成したスレッド oThread が oThread.Start() メソッドを呼び出して開始すると、プログラムは実際に Alpha.Beta() メソッドを実行します。 Alpha oAlpha = new Alpha();
Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));

次に、Main() 関数の while ループで、静的メソッド Thread.Sleep() を使用してメインスレッドを 1ms 停止します。この間、CPU は実行スレッド oThread に切り替わります。次に、Thread.Abort() メソッドを使用してスレッド oThread を終了しようとします。次の oThread.Join() メソッドは、oThread スレッドが終了するまでメイン スレッドを待機させます。 Thread.Join() メソッドの最大待ち時間として int パラメータを指定できます。その後、Thread.Start() メソッドを使用してスレッド oThread を再起動しようとしましたが、明らかに Abort() メソッドの結果はスレッドが回復不能に終了したため、最終的にプログラムは ThreadStateException をスローします


上記C# のマルチスレッド機構です (2) の内容の予備調査です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。