How to multithreading & synchronize state (CPU)

The current state of async in Mojo is that it would be generous to call it “half baked”. We ran into a bunch of language level issues and Mojo does not currently have a formal threading model, primarily because we need to determine a threading model that works almost universally, applying not just to CPUs but also to GPUs and exotic ASICs. There are other things which are higher priority to fix before 1.0, such as traits, closures and the type system, so async is likely going to take a while.

Nothing actually stops you from using C ffi to lean on the platform threading primitives, but I know that’s not exactly an ideal path. If you need to start soon, you should probably look to another language. If you can wait and are willing, once the compiler opens up it should be easier to start making the language work better with threads and you can help develop threading from a language perspective.