I just pushed a new release of Tokio to crates.io. This release is the first that includes the Tokio runtime. I wrote up a quick blog post with more details here: https://tokio.rs/blog/2018-03-tokio-runtime/.
The main PR also has some discussion: https://github.com/tokio-rs/tokio/pull/141
Brilliant stuff! Congrats for this milestone.
At the risk of late bike shedding…
tokio::spawn should be
tokio::submit shouldn’t it? Submitting work to the threadpool as opposed to actually spawning a thread?
Going down the bikeshed route further,
schedule is another commonly used verb for sending work to a batch system.
I’m a bit torn about changing this naming convention. On one hand, using
spawn will feel more familiar to thread users at the start. On the other hand, thread pool jobs are not OS threads, and that means that the best practices change quite a bit (avoid direct synchronization, synchronous IO, basically anything that may block the underlying OS thread). So people will need to understand the difference at some point.
Overall, I would probably tend to agree with changing the name, because being misled into thinking that two things are the same at the start and having to un-learn that incorrect impression later on is definitely a source of learning pains.
spawn terminology is following the lead of the futures project. If you want to pursue the naming there, I’d suggest opening an issue on that project.