0

如果另一个正在运行,我如何设置计时器以相互等待?文档说,如果计时器想要以较低的线程优先级启动,它根本不会运行。

我正在寻找的是一个带有多个“计时器”的脚本,一个大约每 15 分钟运行一次,每 30 分钟一个,每 45 分钟一个,等等。这些都是相当长的方法,运行时间为一两分钟。它们不能同时运行,因此如果一个已经在运行,它们必须相互等待。

4

2 回答 2

1

使用一个 15 分钟计时器并使用计数器启动过程 2 和 3。Groet, Robert

If (Mod(A_Index, 2) = 0)
  Do Loop 2
If (Mod(A_Index, 3) = 0)
  Do Loop 3
于 2013-05-06T12:39:14.533 回答
0

@TS 需要使用带有 NoTimers参数的Thread命令,例如:

; Thread, NoTimers ; uncomment/comment this line

SetTimer, SomeLabel1, 1500
SetTimer, SomeLabel2, 3000
SetTimer, SomeLabel3, 4500

Space::
   KeyWait, % A_ThisHotkey
   ExitApp

SomeLabel1:
   MsgBox, 262144, % A_LineNumber, % A_ThisLabel, % .75
   Return
SomeLabel2:
   MsgBox, 262208, % A_LineNumber, % A_ThisLabel, % .75
   Return
SomeLabel3:
   MsgBox, 262192, % A_LineNumber, % A_ThisLabel, % .75
   Return
于 2013-05-07T13:53:58.533 回答