2 ms·
Anytime the validity of an operation depends upon the state of multiple processes you need to make sure you aren't creating a race condition, and depending upon
by bcrosby95 6y ago
Anytime the validity of an operation depends upon the state of multiple processes you need to make sure you aren't creating a race condition, and depending upon your solution you might introduce a chance of deadlocks or timeouts.
If it's just 2 processes then it's pretty easy: process 1 asks process 2 to modify itself, then process 1 modifies itself. However, this can lead to deadlocks/timeouts if both P1 and P2 are attempting to perform this operation at the same time.
And once you're into 3 or more processes, message passing as a method of synchronization breaks down.
Ideally you avoid this stuff with your design. But since processes fill so many roles you can't always avoid it.