simple locking abstraction for implying solitary execution for programs