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 {} {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}