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

黄舟
リリース: 2016-12-21 14:59:19
オリジナル
1251 人が閲覧しました

次にスレッドを作成しましょう。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) に注目してください。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!