|
|
|
|
|
by marshray
2929 days ago
|
|
> the set of locks that a thread holds is basically an implicit dynamically-scoped global variable that can affect the correctness of the program One technique to get a handle on this situation is making the mutexes actual explicit global variables. "But global variables are bad" they will say. Yeah. And it reflects the reality. "But I need a separate mutex for each object instance like they recommended in 1995 https://docs.oracle.com/javase/tutorial/essential/concurrenc... " they will say. Have fun with that. Python and early Linux kernels use a single global mutex for access to all shared mutable state. In my experience, this is an entirely reasonable design decision for a huge majority of applications. |
|