A question about how to use disable fork_name

The disable <named_block> construct is very simple - just makes every <named_block> jump to the end of the block. It does not consider any threading. You probably want to use disable fork instead. That construct terminates all threads that are the children of the parent thread (the thread executing the disable fork)

There are a few other issues with your example code.

You probably want the code inside the fork/join_none wrapped in a begin/end block. Otherwise the statements after the "do something pre/post, the disable fork, and the fork/join_any will all execute in parallel threads.

There is never a need to use the automatic keyword inside a class. All variables have automatic lifetime by default.

Abruptly killing a thread running a sequence might result in a hang. See Sequences/Stopping | Verification Academy