home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / sys / amiga / programm / 15823 < prev    next >
Encoding:
Internet Message Format  |  1992-11-14  |  4.3 KB

  1. Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!wupost!usc!elroy.jpl.nasa.gov!ames!pacbell.com!pacbell!oracle!unrepliable!bounce
  2. Newsgroups: comp.sys.amiga.programmer
  3. From: dnavas@oracle.uucp (David Navas)
  4. Subject: Re: How to program multi-threaded programs on Amiga ?
  5. Message-ID: <1992Nov13.232458.24242@oracle.us.oracle.com>
  6. Sender: usenet@oracle.us.oracle.com (Oracle News Poster)
  7. Nntp-Posting-Host: mailseq.us.oracle.com
  8. Organization: Oracle Corporation, Redwood Shores CA
  9. References: <d9hh.720829520@dtek.chalmers.se> <1992Nov9.185443.2011@jato.jpl.nasa.gov> <1992Nov12.195317.19859@csus.edu>
  10. Date: Fri, 13 Nov 1992 23:24:58 GMT
  11. X-Disclaimer: This message was written by an unauthenticated user
  12.               at Oracle Corporation.  The opinions expressed are those
  13.               of the user and not necessarily those of Oracle.
  14. Lines: 81
  15.  
  16. In article <1992Nov12.195317.19859@csus.edu> wittb@nextnet.csus.edu (brian witt) writes:
  17. >Message ports don't have a buffer limit.  Because there is no memory
  18. >protection and Exec lists have no upper limit, you can exhaust all
  19. >memory with messages attached to a message port.
  20.  
  21. Last I heard, Intuition actually pre-allocates a set number of messages
  22. per UserPort (or something like that).  I believe if it runs out that it
  23. continually allocates more.  I believe that this is a one way process,
  24. however, in that these extra messages aren't actually deleted (until the
  25. UserPort goes away).
  26.  
  27. Perhaps this is what is being referred to?
  28.  
  29. >However, I realize you probably also want some sort of low proiorty/
  30. >high priorty scheme to handle the mouse and to handle screen updating.
  31. >You may want to try this (but you may be flamed).
  32. [description of perfectly reasonable setup deleted]
  33.  
  34. Or you can use SHADOW V and run your methods synchronously/asynchronously
  35. across as many processes at as many priorities as you like.
  36.  
  37. SHADOW V will be available at a local ftp site near you as soon as I can
  38. coax netcom to stay alive long enough to transfer the 260k (compressed)
  39. file....  [Don't worry, the library is 27k or something like that, it's
  40. the 500k of Docs that come with it....]
  41.  
  42. The WEB Data Acq. and Analysis program (plug plug) runs its GUI at a higher
  43. priority than all of the data-handling processes in just such a manner,
  44. and certainly once I get a reasonable GUI up and running, things like
  45. Auto-Layout will run at some low-priority....
  46.  
  47. >    Open libraries and such first off.
  48.  
  49. Problem -- CBM doesn't want you to share library bases anymore :(
  50.  
  51. >    At exit time, send the low priorty process a kill message.
  52. >    Then loop with a sleep() call until some global varaible is
  53. >    set to indicate OK to die.
  54.  
  55. SHADOW will cleanup your subprocesses automatically for you if you just
  56. use the AddAutoResource() call....
  57. It will also handle all the method dispatching automagically (although
  58. not the IntuiMessage translation to method dispatch, obviously -- you'll have
  59. to rewrite the METH_PROC_HANDLER method for that).
  60.  
  61. >may need some semphores in the case where the normal priority process
  62.  
  63. Wanna wait for a condition?  SHADOW has conditional-variable semaphores.
  64. And bazillion other kinds of semaphores.  They're slower than Exec's, though :(
  65. Amazing how the speed of Exec semaphores doubled when I started using
  66. SAS/C V6 ;)
  67.  
  68. >'concurrency' and 'deadlock avoidance' -- knew ya could.)
  69.  
  70. Yes, well, you obviously still have to deal with this.
  71.  
  72. >other programs are running a little slower... (maybe)
  73. >(Windows/NT at the Fall 1991 Comdex did something like this.)
  74.  
  75. Windows/NT running its programs slower?  Nah  :)
  76.  
  77. >>>I also want to use more than one (two, three..) processes for other things.
  78. >>>It would be nice to be able to edit one text while you process another :-)
  79.  
  80. You can have a method-dispatch create a new process for each invocation, or
  81. redirect each method into an arbitrary process, etc. etc.
  82. [where arbitrary process == SHADOW process, of course! :)]
  83.  
  84. >My knowledge goes up to ADOS 1.3 as I still have (and am typing on) an
  85. >Amiga 1000  !!!!!!!!!!
  86.  
  87. Brian is being very modest here.
  88. He was a VERY good source of information while I was writing SHADOW, so
  89. herein -- a salute!
  90.  
  91. >PS:  I'm looking for an Amiga 1000 ethernet adapter and a 68020 with MMU
  92. >     and memory plug-in (used OK).
  93.  
  94. Pay $1100 for an A3000 and get an ethernet adapter for that :)
  95. David C. Navas                        dnavas@oracle.com
  96. Working for, but not speaking on behalf of, Oracle Corp.
  97.