첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형

■ async ... await 키워드 사용하기

------------------------------------------------------------------------------------------------------------------------

Program.cs

 

 

using System;

using System.IO;

 

namespace TestProject

{

    /// <summary>

    /// 프로그램

    /// </summary>

    class Program

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Field

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region Field

 

        /// <summary>

        /// 완료 여부

        /// </summary>

        static bool _isCompleted;

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 파일 읽기 (비동기) - ReadFileAsync()

 

        /// <summary>

        /// 파일 읽기 (비동기)

        /// </summary>

        public static async void ReadFileAsync()

        {

            FileStream fileStream = File.OpenRead("d:\\source.txt");

 

            byte[] bufferByteArray = new byte[fileStream.Length];

 

            int byteCount = await fileStream.ReadAsync(bufferByteArray, 0, (int)fileStream.Length);

 

            Console.WriteLine("바이트 수 : {0}", byteCount);

 

            _isCompleted = true;

 

            fileStream.Dispose();

        }

 

        #endregion

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

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        private static void Main()

        {

            _isCompleted = false;

 

            ReadFileAsync();

 

            int i = 0;

 

            do

            {

                Console.WriteLine("타이머 카운터 : {0}", ++i);

            }

            while(!_isCompleted);

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

728x90
반응형
Posted by 사용자 icodebroker

댓글을 달아 주세요