- A potential problem; Instructions of cooperating processes can be interleaved arbitrarily. Hence, the order of (some) instructions are irrelevant. However, certain instruction combinations must be eliminated. For example: see Table 2.1
Table 2.1:
Race Condition
| Process A | 
Process B | 
concurrent access | 
| A = 1; | 
B = 2; | 
does not matter | 
| A = B + 1; | 
B = B * 2;  | 
important! | 
 
 
 
- A race condition is a situation where two or more processes access shared data concurrently and correctness depends on specific interleavings of operations; final value of shared data depends on timing (i.e., race to access and modify data)
 
- To prevent race conditions, concurrent processes must be synchronized
 
2004-05-25