When the state needs to be updated by multiple concurrent clients, we
need it to be safely updated with one at a time changes. Generally locks
are used to protect against concurrent modifications. But if the tasks
being performed are time consuming, like writing to a file, blocking all
the other calling threads until the task is completed can have severe
impact on overall system throughput and latency. It is important to make
effective use of compute resources, while still maintaining the guarantee
of one at a time execution.
more…
Published on August 20, 2020 06:44