This topic has not yet been written. The content below is from the topic description.
In our example, we apply MutexAspect to a classic example of synchronization and concurrent programming application. Suppose you have bank accounts and operations on accounts can be performed concurrently. If we don't synchronize those operations we can end up with an invalid account balance. An example would be two operations on account A. One of them is a $30.00 deposit, while the other one is a $10.00 withdrawal. If these operations are run in an unsynchronized manner, like follows: deposit: read initial balance $50.00 withdrawal: read initial balance $50.00 deposit: add $30.00 withdrawal: subtract $10.00 deposit: write final balance of $80.00 withdrawal: write final balance of $40.00 The final balance of the account would be $40.00, and the deposit of $50.00 would have been completely ignored, since its final balance has been overwritten by the withdrawal operation.