.NET core will introduce something similar
JavaScript lets you do it much more ergonomically.
let f = spawn { print() } // fork ... wait f // join. f is a linear type