Unless you manage to do any kind of work without IO, there is always a security risk.
And if that is irrelevant to you, there is still the application stability and memory consistency to ensure data is being handled in a memory consistent state.
Fortran is a good example on how to do scientific computing without low level threads.
Yes threads should be used with extreme caution, that's why I advocate using a functional programming style. But you still want the performance of multicore. It's not one or the other (but with OCaml it unfortunately is).
And if that is irrelevant to you, there is still the application stability and memory consistency to ensure data is being handled in a memory consistent state.
Fortran is a good example on how to do scientific computing without low level threads.