コード例 #1
0
        /// <summary>
        /// Threads the menu.
        /// </summary>
        private static void ThreadMenu()
        {
            System.Console.WriteLine("Main thread id = " + System.Threading.Thread.CurrentThread.GetHashCode().ToString());

            string str = "";

            while (str != "x")
            {
                System.Console.WriteLine("\n---------------");
                System.Console.WriteLine("MENU:");
                System.Console.WriteLine("---------------");
                System.Console.WriteLine(" x - eXit menu");
                System.Console.WriteLine(" 1 - start");
                System.Console.WriteLine(" 0 - abort");
                System.Console.WriteLine(" 2 - suspend");
                System.Console.WriteLine(" s - state");
                System.Console.WriteLine("---------------\n");

                try
                {
                    str = System.Console.ReadLine();



                    switch (str)
                    {
                    case "1":
                        th.Start();
                        break;

                    case "0":
                        th.Abort();
                        break;

                    case "2":
                        //th.Thread.s
                        break;

                    case "s":
                        System.Console.WriteLine("Thread state  = " + th.Thread.ThreadState.ToString());
                        System.Console.WriteLine("IsAlive       = " + th.Thread.IsAlive.ToString());
                        System.Console.WriteLine("IsAborted     = " + (((th.Thread.ThreadState & System.Threading.ThreadState.Aborted) > 0) ? true.ToString() : false.ToString()));
                        break;
                    }
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine("EXCEPTION = " + ex.Message + ", SOURCE = " + ex.StackTrace);
                }
                finally
                {
                }
            }
        }
コード例 #2
0
        public static void Main()
        {
            ConsoleRender cr = new ConsoleRender();

            Console.WriteLine(cr.header());
            do
            {
                string suspend = "";
                try
                {
                    do
                    {
                        Console.WriteLine("Press 'x' to pause.");
                        ThreadHandler thread = new ThreadHandler();
                        thread.Start();

                        suspend = Console.ReadLine();
                        if (suspend == "x")
                        {
                            thread.Pause();
                            Console.WriteLine("Suspended!");
                            Console.WriteLine("Press 'y' to start again.");
                            if (Console.ReadLine() == "y")
                            {
                                Console.Clear();
                                Console.WriteLine(cr.header());
                                Console.WriteLine("Started");
                                thread.Resume();
                            }
                        }
                    } while (suspend != "y" && suspend != "n");
                }
                catch (Exception)
                {
                }
            } while (true);
        }