일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Blocks
- DetectHiddenWindows
- SetControlDelay
- SetMouseDelay
- Var:=식
- Menu
- Threads
- EnvDiv
- 식
- IF (식)
- SetKeyDelay
- if
- ControlGetText
- IfInString
- EnvSet
- StringGetPos
- IfWinExist
- SetEnv
- SetTitleMatchMode
- 식의 설명
- MouseClick
- 함수
- EnvMult
- 배열
- autohotkey
- EnvSub
- EnvAdd
- ControlSend
- if(식)
- API
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
[그외] 스렛드 본문
스렛드
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 |
AutoHotKey 사용방법 (0) | 2007.11.07 |
WinSetTitle (0) | 2007.11.07 |