[comp.lang.forth] Multitasking in F83

lantis@argus.math.orst.edu (David Lantis) (11/23/89)

I would like to know how to use the multitasking feature of F83 version 2.1.0
(update in 1984).  All of the commands appear to be there, but I am having
trouble figuring out how to use them from their definitions.  Has anyone out
there used this feature?  Are there any good books on the subject?  I should
point out that I am relatively new to F83, and forth in general.
Thanks for the help.

David Lantis  at  lantis@math.orst.edu

jax@well.UUCP (Jack J. Woehr) (11/24/89)

In article <13941@orstcs.CS.ORST.EDU> lantis@argus.math.orst.edu (David Lantis) writes:
>I would like to know how to use the multitasking feature of F83 version 2.1.0
>(update in 1984).  All of the commands appear to be there, but I am having
>trouble figuring out how to use them from their definitions.  Has anyone out
>there used this feature?  Are there any good books on the subject?  I should
>point out that I am relatively new to F83, and forth in general.
>Thanks for the help.
>

	Dave: Read _INSIDE F83_, C.H. Ting, Offete Press, 1985, available
from Forth Interest Group.

	Until then:

	BACKGROUND: FOO BEGIN ." FOO!" AGAIN ;
	BACKGROUND: BAR BEGIN ." BAR!" AGAIN ;

	: DRIVE-ME-NUTZ ( ---)
		MULTI FOO WAKE BAR WAKE 
		BEGIN WORDS KEY? UNTIL
		SINGLE ;

	Press any key when you get tired of three tasks doing
console I/O at the same time.

	This works without adding PAUSE explicitly to the tasks
because the console I/O primitives, i.e., EMIT, KEY, KEY? are
deferred words vectored to functions which have PAUSE embedded
in them. In other tasks, you would have to make sure that you
inserted a PAUSE here and there so that one task or the other can't
snatch the CPU forever.

{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{} jax@well     ." Sysop, Realtime Control and Forth Board"      FIG      {}
{} jax@chariot  ." (303) 278-0364 3/12/2400 8-n-1 24 hrs."     Chapter    {}
{} JAX on GEnie       ." Tell them JAX sent you!"             Coordinator {}
{} jax@well.sf.ca.us                                                      {}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}