본문 바로가기

AUTOHOTKEY/레퍼런스

[그외] 스렛드

스렛드

AutoHotkey(은)는 실제는 퍼포먼스 저하를 막기 위해, 의사적인 multi-thread를 채용하고 있다.
현재의 스렛드의 실행중에 hot key, 타이머, 메뉴 아이템 선택에 의해 다른 스렛드가 불려 가면, 세치기에 의해 새로운 스렛드가 개시되어 현재의 스렛드는 새로운 스렛드가 종료할 때까지 정지한다.
세치기는 몇 겹이나 행해지는 것이 가능.
ErrorLevel and SetKeyDelay등의 변수나 설정은, 스렛드 마다 보관 유지되어 끼어들어 온 스렛드내에서 변경되어도, 끼어들어진 스렛드 측에는 영향을 주지 않는다.

스렛드의 수에는 상한이 있어, 디폴트는10하지만, #MaxThreads지령으로1...20의 사이에 설정할 수 있다.
각 hot key로 불려 가는 스렛드의 수에도 상한이 있어, 디폴트는1하지만, #MaxThreadsPerHotkey지령으로 최대20까지 설정할 수 있다.

(비고) KeyHistory커멘드등에서 키 이력을 표시하면, 실행중의 스렛드수를 표시할 수 있다.
ListHotkeys그럼, 어느 hot key가 스렛드를 실행하고 있을지를 알 수 있다.

스렛드 우선도

모든 스렛드의 우선도는 디폴트로0(이)가 된다.
Thread커멘드로, 현재의 스렛드의 우선도를 변경할 수 있다.
Hotkey커멘드의 인수로, hot key의 우선도를 지정할 수 있다.
Hotstring(은)는 정의시의 옵션에 의해 우선도를 지정할 수 있다.
SetTimer커멘드의 인수로, 타이머 기동의 우선도를 지정할 수 있다.
Menu커멘드의 인수로, 커스텀 메뉴 아이템의 우선도를 지정할 수 있다.
현재의 스렛드보다 우선도가 낮은 경우, 세치기는 행해지지 않는다.

OnExit에 의한 호출은, 현재 스렛드의 우선도에 관계없이 실행된다

'AUTOHOTKEY > 레퍼런스' 카테고리의 다른 글

Menu  (0) 2007.11.07
Hotkeys  (0) 2007.11.07
[그외] 스렛드  (0) 2007.11.07
편입변수  (0) 2007.11.07
AutoHotKey 사용방법  (0) 2007.11.07
WinSetTitle  (0) 2007.11.07