Hi, > https://wiki.php.net/rfc/true_async > > I believe this version is not perfect and requires analysis. And I > strongly believe that things like this shouldn't be developed in isolation. > So, if you think any important (or even minor) aspects have been > overlooked, please bring them to attention. >
I thought about this quite a bit and I think we should first try to clarify the primary design that we want to go for. What I mean is whether we would like to ever support a true concurrency (threads) in it. If we think it would be worth it (even thought it wouldn't be initially supported), then we should take it into the account from the beginning and add restrictions to prevent race conditions. It means it should probably disallow global (e.g. global $var;) variables or at least make them context specific as well as disallowing object sharing. I think PHP users should not deal with synchronization primitives. Basically what I want to say is that multithreading should not be just something mentioned in the future scope but the whole design should be done in a way that will make sure everything will work fine for users. Ideally also having some simplified implementation that will verify it. I also agree that the scope is currently too big. It should be reduced to the absolute minimum and just show what's possible. It's great to have a proof of concept for that but the initial proposal should be mainly about the design and introducing the core components. Regards, Jakub