Remix.run Logo
mgaunard 13 hours ago

tl;dr mutexes are evil because they don't compose, STM is the solution because it does compose, otherwise just avoid shared state, or even state entirely.

Not anything that's not already covered in any undergraduate CS course.

niek_pas 12 hours ago | parent | next [-]

I've never taken an undergraduate CS course so I'm happy to have read this!

kreetx 13 hours ago | parent | prev [-]

Which CS course did you go to?

4 hours ago | parent | next [-]
[deleted]
mgaunard 12 hours ago | parent | prev [-]

You made me check the programme of many university courses.

Most parallel programming courses are at Masters level and require specialization, but those are much more advanced (sorting networks, distributed computing on supercomputers and GPU, consensus algorithms, parallelization of linear solvers...)

There are undergraduate courses that cover simple things like multithreading patterns in mainstream languages, but it seems they are only available if you go to an education institution with both a practical mindset and a firm grip of the fundamentals, which is unfortunately quite rare, as most institutions tend to specialize in one or the other.

pessimizer 8 hours ago | parent [-]

During my undergrad this stuff was heavily covered in my Intro to Operating Systems class. But that was 20 years ago, may be different now.