05-05-2017, 09:30 AM
Because the CPUs aren't clever enough to make things thread safe automagically. The only languages which provide automagic thread safety do so at the cost of significant overhead, speciallism, or a lot of careful language design from the start. You can use data from multiple threads if all threads use it read-only, but I don't think we do that anywhere in the code at the moment.