synchronized

inline fun <T : Any, R> synchronized(lock: T, block: (T) -> R): R