스레드 변수
스레드 변수 (Thread Variables)
스레드를 사용하는 프로그램에서 변수는 두 종류로 나눌 수 있어요. 모든 스레드가 공유하는 진짜 '전역' 변수이거나, 각 스레드마다 별도의 복사본을 갖는 '스레드 지역(thread-local)' 변수이죠. 지역 변수(프로시저 안에서 선언한 변수)는 항상 스레드 지역이에요. 전역 변수는 기본적으로 모든 스레드가 공유하는데, 선언 블록 처음의 var 키워드를 Threadvar로 바꾸면 스레드 지역으로 만들 수 있어요.
출처: Thread Variables
본문
Threadvar
IOResult : Integer;
스레드를 사용하지 않으면 이 변수는 평범한 변수처럼 동작해요. 스레드를 사용할 때는 각 스레드(메인 스레드 포함)마다 복사본이 하나씩 만들어져요. 이때 복사본은 스레드가 시작될 당시의 값이 아니라 변수의 원래 값으로 만들어진다는 점을 기억해야 해요.
Threadvar는 되도록 아껴 써야 해요. 값을 읽거나 설정할 때 그만큼 오버헤드가 발생하거든요. 가능하다면 지역 변수를 사용하는 걸 고려하세요. 지역 변수가 항상 스레드 변수보다는 빠릅니다.
스레드는 기본적으로 활성화되어 있지 않아요. 스레드 프로그래밍에 대한 자세한 내용은 Programmer's Guide의 스레드 장을 참고하세요.