I want to make sure that a particular function module or a piece of code cannot be executed by two programs (run by the same user or different users) at the same time. And if two programs attempt to execute that function module or piece of code simultaneously. They are queued so that one get executed only after the other is finished.