There is an FFI section of the Rustonomicon.
There are CI examples available here in The Cargo Book. They seem to just be pulled from the docs of their respective platforms, though. The platform's docs will always be the definitive source as they are not part of Rust.
The Book has a walkthrough for creating a thread pool for a web server and the docs for std::thread seem appropriately thorough. Perhaps you're looking for something else? For what it's worth, the already-mentioned
rayon has nice docs, a great design and is probably the easiest way to use threads. It offers concurrency through a hidden thread pool without having to "buy in" to the potential bloat of a big library. You don't even need to import and use a new type, just bring the traits into scope.
Channels, message passing and shared-state concurrency are addressed in The Book. The docs for std::sync::mpsc have explanations and examples as well. The "synchronous vs asynchronous" topic is covered in the first section, but it is relevant to the module's API and not the general concept. The
crossbeam library has docs for its API that include examples. At this point
crossbeam is one of those libraries that pops up in tons of projects. It should at least be mentioned if you're learning about mpsc channels in Rust because of its better performance and extra features, but its channel API is based on the example set by the standard library.
You won't find in-depth discussions of async performance in a library's documentation. The potential use cases for non-blocking code is a topic that comes up in every language that joins the async foray. But if you want to assess the performance of your Rust code, there is a book with tips for benchmarking and general performance-related information.