Rust do not have language constructs for any concurrency/parallel model, and this is a good thing. You can use fork-join, parallel iterators, mutex, rwlocks, channels (mpsc, mpmc...) or any other model as a library.
The nice thing is that, as you say, is the type system the component that guarantee a free from data race code in safe Rust.