On 29 September 2015 16:22:30 BST, Thomas Hruska <thru...@cubiclesoft.com> wrote: >On 9/29/2015 6:52 AM, Joe Watkins wrote: >> We shouldn't reserve words on a whim ... >> >> async/await doesn't solve any problems for multithreaded programming, >at >> all ... it solves problems for asynchronous programming, a different >> concept ... let's not confuse the two ... > >Actually, it does. Asynchronous and multithreaded programming are >attempts at solving the exact same problem: Simultaneously handling >multiple data streams in whatever form that takes whether that be >network, hard drive, random device XYZ, RAM, or even CPU. The former >says, "Let's wait until we can read or write and continue when we have >data." The latter says, "Let's read and write but let the OS handle >context switching to give the appearance of simultaneously handling >multiple data streams."
That description may have held a few years ago, when processes and threads were nearly always time-slices on a single CPU core, but surely on a modern system there can be real simultaneity, because even the cheapest laptop has multiple CPU cores. An asynchronous approach is useful for cases of "do something else while I wait for this background task to complete", but seems less so for "do both of these things actively, using whatever resource is available". It may be that the first class of problem is more common, but that doesn't make the two equivalent. Regards, -- Rowan Collins [IMSoP] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php