Multi-threading in 1.0

I was a little bummed to see multi-threading support didn’t make the cut for 1.0. But that’s ok, it’s still on the radar.

Is there a tag we can look for on GitHub issues that are keeping multi-threading from becoming GA?

What’s GA?

Generally Available

Ah, thanks!

I think multithreading will make it to 1.0 according to that blog post. It’s mentioned in both “what can wait” and “what can’t wait”.

I did not really understand why multi-threading can’t wait? It is because of the internal refactoring required, or because it is a good feature to have?

https://crystal-lang.org/2019/09/06/parallelism-in-crystal.html “next steps” and Crystal parallelism and Kemal may be interesting to read.

1 Like

Thanks @rogerdpack!

Yes, I believe we may need to make some minor changes in order to make existing stdlib components thread safe. Multithreading has always been on the mind when these were designed, so it shouldn’t be huge breaking changes. More like subtle difference in some specific concurrent behaviour. Maybe nobody would ever notice something has changed. But it’s still better to introduce changes before 1.0 to be on the safe side.

1 Like

Should call it Schrödinger-threading instead :P

4 Likes