In reply to Anamika Sharma:
There would only be a difference if there are more than one process requesting a grab or lock.
grab() is the same as lock() except a grab() goes to the front of the queue of processes waiting for exclusive access to a sequencer, and lock() goes to the back of the queue.