From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_20,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 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) List-Id: 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 ---