첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.

728x90
반응형
728x170

TestProject.zip
0.00MB

▶ Program.cs

using System;
using System.Threading;
using System.Threading.Tasks;

namespace TestProject
{
    /// <summary>
    /// 프로그램
    /// </summary>
    public class Program
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Static
        //////////////////////////////////////////////////////////////////////////////// Private

        #region 작업 1 실행하기 - ExecuteJob1()

        /// <summary>
        /// 작업 1 실행하기
        /// </summary>
        private static void ExecuteJob1()
        {
            Thread.Sleep(20000);

            Console.WriteLine("JOB #1 EXECUTED");
        }

        #endregion
        #region 작업 2 실행하기 - ExecuteJob2()

        /// <summary>
        /// 작업 2 실행하기
        /// </summary>
        private static void ExecuteJob2()
        {
            Thread.Sleep(20000);

            Console.WriteLine("JOB #2 EXECUTED");
        }

        #endregion
        #region 작업 3 실행하기 - ExecuteJob3()

        /// <summary>
        /// 작업 3 실행하기
        /// </summary>
        private static void ExecuteJob3()
        {
            Console.WriteLine("JOB #3 EXECUTED");
        }

        #endregion
        #region 프로그램 시작하기 - Main()

        /// <summary>
        /// 프로그램 시작하기
        /// </summary>
        private static void Main()
        {
            Task task = Task.Run
            (
                () =>
                {
                    Parallel.Invoke
                    (
                        () => ExecuteJob1(),
                        () => ExecuteJob2()
                    );
                }
            );

            try
            {
                bool isTaskCompleted = task.Wait(10000);

                Console.WriteLine($"태스크 완료 여부 : {isTaskCompleted}");
                Console.WriteLine($"태스크 상태      : {task.Status:G}");
            }
            catch(OperationCanceledException exception)
            {
                Console.WriteLine(exception.ToString());
           
            }

            ExecuteJob3();

            Console.WriteLine("프로그램을 종료하기 위해 아무 키나 눌러 주시기 바랍니다.");

            Console.ReadKey(false);
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요