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: Bart Silverstrim <bsilver at chrononomicon dot com>
Date: Fri, 30 May 2008 10:22:04 -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>
Joe Strout wrote:

> Get over it.  Preemptive multitasking is, in general, very bad mojo.   
> If you access ANY functions that are not thread-safe (and this would  
> include pretty much the entire framework, as well as many of the OS  
> functions that you use even for simple things like drawing to a  
> window), then your program will have obscure bugs that will crop up in  
> odd circumstances after your software is released.  The Windows  
> platform layer used to use preemptive threads, and it was a nightmare  
> -- one that ended only when they coded a cooperative multitasking  
> system like the Mac already had.

Could you elaborate on this? I thought all NT lineage was preemptively 
multitasking, with a Win16 compatibility system for older applications 
that was cooperatively multitasked within itself...?

> To make use of multiple processors safely (in ANY language), you need  
> to divide your work into separate processes.  In RB, the best way to  
> do this is via a helper app that you would access via the Shell.  It's  
> not that hard to do, and it's 100% safe.

You're saying design your app to be multiprocess and not multithreaded?


_______________________________________________
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>