Asynchronous I/O and non-blocking I/O are very different things. The POSIX aio* functions are asynchronous, not non-blocking. The "conventional" Unix way to do asynchronous I/O is to start a new thread for the transfer. The new thread uses ordinary synchronous I/O and then responds to completion any way you want. It is a rather easier model to program for than asynchronous I/O. On Mon, 20 Apr 2020 at 04:15, dturczanski <mail@danielturczanski.com> wrote:
Hi guys,
I'm wondering whether Pharo support any form of non-blocking IO. You can find such IO support in Node.js or Java NIO packages and on Linux they use select/poll async IO system calls.
An example scenario is to be able to schedule 10 concurrent HTTP calls taking 1-5s and wait for them to finish. Naturally, if you perform the calls sequentially you'll wait for much longer than if you fire the calls concurrently.
Is it possible in Pharo? I've only spent a few hours reading about the platform but I'm still not sure whether the built-in process/threading supports such scenario.
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html