Linked by Hadrien Grasland on Fri 27th May 2011 11:34 UTC
General Development After having an interesting discussion with Brendan on the topic of deadlocks in threaded and asynchronous event handling systems (see the comments on this blog post), I just had something to ask to the developers on OSnews: could you live without blocking API calls? Could you work with APIs where lengthy tasks like writing to a file, sending a signal, doing network I/O, etc is done in a nonblocking fashion, with only callbacks as a mechanism to return results and notify your software when an operation is done?
Permalink for comment 474942
To read all comments associated with this story, please click here.
RE: My Preference
by Alfman on Sun 29th May 2011 17:55 UTC in reply to "My Preference"
Alfman
Member since:
2011-01-28

Brendan,

"What makes asynchronous/non-blocking messages more complex is the restrictions and the guarantees the system makes. How much data can be sent in a single message (4 dwords, 4 KiB, 4 MiB)?"

Why need there be any limit at all, short of memory constraints or policy?

"Are sent messages guaranteed to be received (common example of "no" would be network failures in distributed systems)?"

Locally delivered messages can be guarantied, network messages would depend on the underlying protocols - but how is this any different between threads/async?

"What guarantees are there for the order messages are received (none, some)?"


A queued async model doesn't get out of sequence messages, so I'm not sure why your asking this question?

Reply Parent Score: 2