Really, any language that has threading gives you the easy concurrency that you want. Now, if you limit your choices to "concurrency, but not with OS threads", then your pool is a lot smaller.
I think Clojure (core.async), Haskell (GHC), and Rust would also give you what you're looking for.
I think Clojure (core.async), Haskell (GHC), and Rust would also give you what you're looking for.