C#マルチスレッド操作サンプル


using System;

using System.Threading; // 



namespace ThreadTest

{

    public class Alpha

    {

        public void Beta()

        {

            while (true)

            {

                Console.WriteLine("Alpha.Beta is running in its own thread.");

            }

        }

    };



    public class Simple

    {

        public static int Main()

        {

            Console.WriteLine("Thread Start/Stop/Join Sample");

            Alpha oAlpha = new Alpha();

        //file:// , Alpha Beta() 

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

            oThread.Start();

            while (!oThread.IsAlive)

                Thread.Sleep(1);

            oThread.Abort();

            oThread.Join();

            Console.WriteLine();

            Console.WriteLine("Alpha.Beta has finished");

            try

            {

                Console.WriteLine("Try to restart the Alpha.Beta thread");

                oThread.Start();

            }

            catch (ThreadStateException)

            {

                Console.Write("ThreadStateException trying to restart Alpha.Beta. ");

                Console.WriteLine("Expected since aborted threads cannot be restarted.");

                Console.ReadLine();

            }

            return 0;

        }

    }

}