AutoHotKey(오토핫키) 설명서 Thread

Posted by 발전소장
2014. 8. 14. 14:19 AutoHotKey/Commands

Thread

현재의스렛드의 세치기 우선도를 설정한다

Thread, Priority,n
Thread, Interrupt, Duration [, LineCount]
Thread, NoTimers [, false]

Thread, Priority,n

n에 현재의 스렛드의 세치기 우선도를 지정한다.
이것보다 우선도의 낮은 이벤트는 끼어들 수 없게 된다.

Thread, Interrupt, Duration [, LineCount]

스렛드 개시부터 세치기를 절대 금지하는 시간을 설정한다.
지정 밀리 세컨드 경과하는지, 지정행수(커멘드수)실행할 때까지, 우선도에 관계없이 세치기는 행해지지 않는다.
Duration에 밀리 세컨드,LineCount에 행수를 설정한다.
디폴트는15밀리 세컨드,1000행.

어느 쪽인지를 「0」(으)로 하면, 막 시작한 스렛드에서도 끼어들어지게 된다.
어느 쪽인지를 「-1」(으)로 하면, 세치기는 절대로 행해지지 않게 된다.

이 설정은, 스크립트 전체로 유효.
다만, 한 번 끼어들어 금지 기간을 지난 스렛드를 재차 세치기 금지로 하는 것은 할 수 없다.

세치기 금지 기간의 사이에 다른 스렛드가 기동하려고 했을 때, 그 스렛드는 버퍼 되어 실행중의 스렛드가 종료하는지, 세치기 금지 기간을 지난 시점에서 실행된다.
다만, 세치기 금지 기간을 지난 시점에서 실행중의 스렛드가 끼어들려고 한 스렛드보다 우선도가 높은 경우, 세치기는 행해지지 않고, 스렛드는 소멸한다.

Thread, NoTimers [, false]

현재의 스렛드의 실행중의 사이, 타이머 이벤트의 세치기를 금지한다.

AutoExecute섹션하지만 타이머 세치기 금지 상태인 채 종료했을 경우, 그 스크립트에서는 모든 스렛드가 타이머 세치기 금지로 개시되게 된다.
이 경우에서도, 스렛드가 실행되어 있지 않은 동안이라면 타이머 이벤트의 개시는 가능.

제2인수에 「false」(이)나 「0」 등을 지정하면, 현재의 스렛드의 타이머 세치기 금지를 해제할 수 있다.

Related

Threads, Hotkey, Menu, SetTimer

Example(s)

Thread, priority, 1 ; Make priority of current thread slightly above average.
Thread, interrupt, 50, 2000
; Make each newly launched thread immediately interruptible:
Thread, interrupt, 0