Page 14 -
P. 14

그림 1-6과 같이 메인 스레드가 스레드 2와 스레드 3을 만들려면 어떻게 해야 할까요? 다음 코드
               처럼 하면 됩니다. 자세한 것은 뒤에서 설명하므로 일단은 대충 훑어보세요.

               void main()
               {
                   t2 = CreateThread(Thread2Proc);
               }

               void Thread2Proc()
               {
                   t3 = CreateThread(Thread3Proc);
               }

               void Thread3Proc()
               {   ...
               }

               프로그램은 많은 서브루틴 혹은 함수로 구성되어 있습니다. 프로그램이 실행될 때 C 언어에서는

               void main() 함수가 실행되고, C#에서는 메인 클래스의 Main() 함수가 실행됩니다. 메인 함수를
               시작점으로 많은 함수가 실행됩니다. 그리고 그 함수들은 또 다른 함수들을 실행합니다.

               함수는 실행이 끝나면 자기 자신을 호출했던 호출자(caller) 함수를 실행했던 지점으로 되돌아가야
               합니다. 그렇게 하려면 어디까지 실행하다 말았는지를 기억하고 있어야 합니다. 이 정보가 저장되
               어 있는 곳을  호출 스택( call stack)이라고 합니다. 여러분이 Visual Studio를 쓰고 있다면 디버거를
               사용해서 호출 스택을 확인해 볼 수 있습니다.

               그림 1-7과 같이 간단한 프로그램을 하나 만든 후 func3()에 디버그 중단점(debug break point)을 찍

               고 디버깅을 실행해 봅시다.

                  그림 1-7 Visual Studio에서 디버깅 중




















         022
   9   10   11   12   13   14   15   16   17   18   19