Thanks Jeff, It seems the only way is write our own platform to schedule the tasks, like most RTOS does.
Ming ----- Original Message ----- From: "Jeff Ishaq" <[EMAIL PROTECTED]> To: "Palm Developer Forum" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Tuesday, June 03, 2003 10:05 AM Subject: Re: Multithreaded Problem > At 12:38 PM 6/2/2003 -0700, you wrote: > >Hi Folks, > > > > From the API references for Palm OS 5 we know there is no exposed > >multithread APIs as well as synchronous tools (semaphore, mutex, etc). If I > >try to develop an multithreaded application, how should I do it or negotiate > >with some organizations? I know some other companies have developed such > >software for Palm OS. > > I wrote an article for Byte.com that addresses this issue: > > http://ishaq.biz/Publications/Designing%20Multithreaded%20Mobile%20Solutions.pdf > > For current versions of Palm OS, the threading model is many-to-one. On > devices that run Palm OS 5.0, you can "sort of" multithread by using an > ARMlet. See the armlet-forum for more info on this. > > That Palm OS is many-to-one doesn't preclude you from multithreading. It > just means you need to roll your own (or reuse an existing) user-level > thread scheduler to maintain context and schedule the various threads' > execution on the CPU. Here are your options, as I see them: > > 1) Look into using an ARMlet > > 2) For C-based apps, write your own threading library. CoordTask is one > such library that has source code available. This is cooperatively > multitasked, and does not have synchronization objects (MutEx etc). > http://www.deepnettech.com/coordtask.html > > 3) For C++-based apps, write your own threading CLASS library (and let me > know when you're done, I'd love to see it). I suggest extending the event > pump of the Object Library for Palm OS (POL), as it already gives you a > complete, tried-and-true C++ framework. > > 4) Consider using Java, so that you get the java.lang.Thread class, which > is essentially 3) above. As a whole, Java support on the Palm is still > laughable, but there are some snappy JVMs that are available if you can > suffer through the development tools. Most Java SDKs for Palm development > will come with a threading demo that explicitly illustrates how > java.lang.Thread works on Palm OS. Really pretty cool. > > 5) Dare I say, look at using Microsoft PocketPC OS? For years now, it > provides a many-to-many threading model via the CreateProcess() API. > > 6) Rumor has it that OS6 will have multiprocessing and a secure virtual > memory model. The PalmSource Seminar divulged the official word on this -- > but it was confidential, so I can only point you to > http://www.palminfocenter.com/view_story.asp?ID=5339 > > -Jeff Ishaq > > > -- > For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ > -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
