Preventing jobs from the same "class" to run simultaneously

Q: Is it possible to create job "class" and to define that two jobs from one "class" lets say "Class A" can not start at the same moment?

A: Use global variables to implement such "class" type semaphores. Every job from the same class on startup should set the appropriate global variable to some known value like "active" and then before exit reset the variable.

Use the following code fragment as a template

Dim global.class_A, string
Dim busy, boolean
Dim process, number

// check flag
isEqual( global.class_A, "active", busy )
// if busy (another job from the same class is running) don't run now
IfThen( busy, DONE )
      // ok, can run now
      // raise flag
     Set( global.class_A, "active" )
     // run program
     RunAndWait( "myprogram.exe, "", 300, process )
     // reset flag
    Set( global.class_A, "inactive" )
DONE: