AutoHotKey(오토핫키) 설명서 Threads

Posted by 발전소장
2014. 8. 14. 14:59 AutoHotKey/misc

Threads

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

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

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

Threads 우선도

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

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