From your question, it seems that you might not know
what a THREAD is.
“a thread of execution is a fork of a computer program into two or more concurrently running tasks. ”
A job turns into a number of simultaneous jobs that might be synced. This is a Web Sphere, Java, C type process.
So it you’re working in AS/400 native stuff – CL/COBOL/RPGLE you would allocate *JOB.
That lock would be in place until the job ends or issues a DCLOBJ command.
If a job allocates an object, one of the threads of the job can lock it down further so that no other thread or other job can use it.