'From Smalltalk/X, Version:2.7.3 on 31-oct-1993 at 23:49:46'!
Object subclass:#Delay
instanceVariableNames:'milliseconds'
classVariableNames:''
poolDictionaries:''
category:'Kernel-Processes'
!
!Delay class methodsFor:'instance creation'!
forMilliseconds:millis
^ self new milliseconds:millis
!
forSeconds:seconds
^ self new milliseconds:(seconds * 1000)
! !
!Delay methodsFor:'accessing'!
milliseconds:aNumber
milliseconds := aNumber
! !
!Delay methodsFor:'delaying'!
wait
"suspend the current process"
|sema|
sema := Semaphore new.
Processor activeProcess state:#timeWait.
Processor enableSemaphore:sema afterMilliseconds:milliseconds.
sema wait
"'1' printNewline.
(Delay forSeconds:10) wait.
'2' printNewline
"
! !