realbasic-nug
[Top] [All Lists]

Re: Dealing with multi-processor or multi-core

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: Dealing with multi-processor or multi-core
From: James Sentman <james at sentman dot com>
Date: Fri, 30 May 2008 13:15:48 -0400
Authentication-results: mx.google.com; spf=pass (google.com: domain of realbasic-nug-bounces at lists dot realsoftware dot com designates 66.116.103.65 as permitted sender) smtp dot mail=realbasic-nug-bounces at lists dot realsoftware dot com
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <p06240802c4657bd7c318 at [62 dot 161 dot 36 dot 122]> <41B4C50C-AB85-4975-B2AE-C6A4DD49D787 at inspiringapps dot com> <48400D8C dot 7090301 at chrononomicon dot com> <3BB99D4D-BDCA-4786-AFF4-7CD3FE1E48F7 at austin-home dot com> <697602FF-A5BE-4933-8370-1E7E9DBF3F2F at alphaview dot com> <D3317334-88C9-491B-9DD7-37FEA0A5626D at tolisgroup dot com>
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>


<Prev in Thread] Current Thread [Next in Thread>