Runs block while holding lock, so that concurrent callers on the same lock run one at a time under the platform's concurrency model.
the result of block