The gist of this discussion is that while other languages offer you a
way to make pre-emptive threads, it's not as simple as setting a flag
and writing code as usual. And it's not that simple with any platform.
RB is a little more honest than others since it doesn't even claim to
support it. It's a nice buzzword, but there will never be such a thing
as a pre-emptive thread that can run the same as a regular one. Helper
apps connected with IPC sockets or via Christians MBS notification
stuff work really well (and the notification stuff is really cool as
you can pass whole dictionaries between the apps, not have to develop
a parsed protocol) are not significantly more difficult to get working
than internal thread messaging and they are so much easier to debug
and make actually work!
We've done this extensively in the home automation app that I work on.
All the UI is one program, but all the low level communications to
devices are handled by helper apps. That way when the USB bus goes
south (which it will) instead of crashing the whole app it only
crashes the helper app, which we can clean up after and restart
seamlessly. Many benefits to doing things that way.
-James
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|