mutual exclusion in shared memory concurrency 748166