Xref: utzoo comp.edu:2905 comp.lang.ada:3169 comp.lang.misc:3882 Path: utzoo!attcan!uunet!clyde.concordia.ca!rutgers!uwm.edu!rpi!zaphod.mps.ohio-state.edu!usc!apple!fox!portal!cup.portal.com!pgl From: pgl@cup.portal.com (Peter G Ludemann) Newsgroups: comp.edu,comp.lang.ada,comp.lang.misc Subject: Re: Teaching Concurrency Message-ID: <25876@cup.portal.com> Date: 13 Jan 90 07:34:59 GMT References: <7588@hubcap.clemson.edu> <602@agcsun.UUCP> <10330@june.cs.washington.edu> <5598@bd.sei.cmu.edu> <6219@ubc-cs.UUCP> Organization: The Portal System (TM) Lines: 15 In my experience, most "multi-tasking" turns out to be nothing but coroutining with message-passing for communication. On an AS/400 (for example), a task switch is only slight more expensive than a subroutine call (basically the cost of saving the 16 registers plus a return address), so the additional clarity of writing with multi-tasking is well worth it. Furthermore, in some dialects of Prolog (e.g., NU-Prolog), a corouting style can be used to vastly INCREASE the efficiency of programs (the programs are written in a multi-tasking style but are actually run as coroutining). - peter ludemann pgl@cup.portal.com --- my opinions are my own responsibility, of course ---