WINAPI: GetTickCount KERNEL32.DLL
WINAPI: CreateThread KERNEL32.DLL
WINAPI: ExitThread KERNEL32.DLL

: CREATE-THREAD ( xt -- n )
  >R 100 ALLOCATE THROW DUP >R
  R@ 0 R> CELL+
  R> 0 0 CreateThread SWAP FREE THROW
;
: CREATE-THREAD-P ( x xt -- n )
  >R 100 ALLOCATE THROW DUP >R CELL+ !
  R@ 0 R>
  R> 0 0 CreateThread \    
;
: INIT-THREAD
\  R> RP@ 3000 - RP! >R
  SP@ 100 - SP!
;
: (TEST-THREAD) ( param -- X )
  INIT-THREAD
  GetTickCount
  BEGIN
    GetTickCount OVER - ABS 500 >
    IF ." ***" DROP GetTickCount THEN
  AGAIN
;
' (TEST-THREAD) WNDPROC: TEST-THREAD

: TEST ['] TEST-THREAD CREATE-THREAD . ;
