retroforth/multicore.retro
crc ad077a2ca8 add note in Makefile pointing to GNUmakefile for gmake users
FossilOrigin-Name: 18ed9c2f8017998e2d57e2904a90e0afc694edcd66e8bc72e4acf66f38d66077
2021-09-10 17:27:42 +00:00

29 lines
632 B
Forth

# Multicore Support
~~~
:core #8000 io:scan-for io:invoke ;
:core:init (n-) #0 core ;
:core:start (an-) #1 core ;
:core:pause (n-) #2 core ;
:core:pause-current #3 core ;
:core:resume (n-) #4 core ;
:core:rr (n-v) #5 core ;
:core:wr (vn-) #6 core ;
~~~
```
'Done var
:a [ @Done #100000 gt? [ core:pause-current ] if &Done v:inc $a c:put ] forever ;
:b [ $b c:put ] forever ;
:c [ $c c:put ] forever ;
:d [ @Done #50000 gt? [ core:pause-current ] if $d c:put ] forever ;
#1 core:init &a #1 core:start
#2 core:init &b #2 core:start
#3 core:init &c #3 core:start
#4 core:init &d #4 core:start
core:pause-current
```