reddy@uiucdcs.CS.UIUC.EDU (04/09/86)
I recall that the earlier Class-C had multitasking (or some simulation of it). Has that been thrown out in C++? Or, is there some library that provides it?
keith@cecil.UUCP (keith gorlen) (04/14/86)
Release 1 of the C++ Translator comes with a tasking package (task.h), and I've also implemented one of my own as part of an Object-Oriented Program Support (OOPS) class library for C++. The task.h package is oriented toward applications such as simulation, and the OOPS package is better suited to external event processing. Both contain a small amount of assembler code to handle coroutine creation and coroutine calls. Multiprocessing with coroutines does not require any language features peculiar to C++; it requires only run-time support and could be implemented in plain old C. -- --- Keith Gorlen Computer Systems Laboratory Division of Computer Research and Technology National Institutes of Health Bethesda, MD 20892 phone: (301) 496-5363 uucp: {decvax!}seismo!elsie!cecil!keith
brooks@lll-crg.ARpA (Eugene D. Brooks III) (04/14/86)
In article <27600047@uiucdcs> reddy@uiucdcs.CS.UIUC.EDU writes: > >I recall that the earlier Class-C had multitasking (or some simulation of >it). Has that been thrown out in C++? Or, is there some library that >provides it? I an not aware of the situation for C++, but there is a stand alone Multitasking package avaiable for C (for free). It runs under Unix, is compatible with dbx, and can be set to interleave the execution of the arbitrary number of tasks every instruction if so desired. It currently runs on Vaxes and I believe that one group has ported it to Sequent's B8K. The package is written in C and is constructed to be portable. There are facilities that allow one to obtain the concurrency available as a function of clock cycle, assuming one clock per instruction.