Prohibits all other jobs (API or batch processes) from processing on the locked base object.
shared lock
Prohibits only certain jobs from running. For example, a batch job could issue a non-exclusive on a base object and, when interoperability is enabled (on), this shared lock would prohibit other batch jobs but would allow API jobs to attempt to process on the base object.
row-level lock
Shared lock that locks the affected base object rows.