쓰레드(Thread)
쓰레드를 사용할 때 일정한 부분은 순차적
으로 실행되어야 정상적으로 프로그램이 구동됩니다.
사용자 정의 함수
를 이용하면 이 부분을 해결 할 수 있습니다.
프로젝트 구성
도구상자에서 TextBox를 Form1에 생성하며, MultiLine에 체크합니다.
UnSafe 방법
CrossThread
를 사용하지 않고 CheckForIllegalCrossThreadCalls = false;
을 선언하여 안전하지 않은 방법
으로 코드를 구성할 수 있습니다.
이 경우, Invoke
와 delegate
를 사용하지 않고 직접적으로 컨트롤을 호출
하여 사용할 수 있습니다. 하지만 중대한 오류가 발생할 수 있습니다.
전체 코드
CheckForIllegalCrossThreadCalls = false;
을 선언하여 다른 쓰레드에서 컨트롤을 다룰 수 있습니다.
하지만, A가 100회
, B가 70회
, C가 50회
가 실행되지 않고 모두 합하여 100회
만 실행되는 것을 확인할 수 있습니다.
실행 결과
Safe 방법
CrossThread
를 사용하여 함수에 호출하는 방법으로 안전하게 코드를 구성하여야 오류가 발생하지 않습니다.
전체 코드
A가 100회
, B가 70회
, C가 50회
가 실행되고 연속적으로 A, B, C가 출력되는 것을 확인할 수 있습니다.
실행 결과
댓글 남기기