Questions on Lock() a sequencer

In reply to dave_59:

Hi Dave,

Assume we have s0 currently sending transaction to driver. And we have 3 sequences- s1,s2,s3, trying to run on sequencer in parallel. And s1 out of these 3 uses lock method.
Now after s0 is done, s1 will get the sequencer and start sending transactions?
The lock method assures that the next sequence which will access to driver is s1. Is that right?

Than what is grab() here?

The grab method is similar to the lock method, except that it takes immediate effect and will grab the next sequencer arbitration slot, overriding any sequence priorities in place. T

So that means if s1 is using grab, s2 using lock, than s1 will get access to driver?