6 ms·
Which one prevents race conditions?
by enedil 4y ago
Which one prevents race conditions?
- bmitc 4y agoWell, for one, Rust doesn't. And I think you mean data races and not race conditions, or at least race conditions with regards to data/memory access. I don't know of a language that prevents race conditions. In Elixir and Erlang, mutating data is impossible, so those. A language like F# makes it easy to avoid race conditions as well, but it is possible if you use classes or the mutable keyword. Even then, you will not corrupt memory and are only having race conditions in terms of the order in which data is accessed. But is rarely a problem with a functional first approach. I never even need to use a debugger with F#. Any language with asynchronous computations will have race condition surface area, but there are several high-level languages that makes this difficult.