Good question, and I could talk about this for a long time (but probably shouldn't). Concurrency and parallelism are tough to get right. Anyone that has written threaded code knows this. Koichi has been working on a concept called "guilds" which I think can be thought of as kind of "actors". The idea is that most concurrency bugs come from mutating shared data. So Guilds don't allow that. If you want to share data, you have to copy it, or you need to make a read-only version of that data. I think one thing that would help push Ruby forward towards a more concurrent / parallel world would be if there was an easy way to declare deeply nested read-only data structures.