reference: cite Concurrent ML
This commit is contained in:
parent
45b0aa21d1
commit
fd2ffe3170
|
@ -15,7 +15,7 @@ A @deftech{synchronizable event} (or just @defterm{event} for short)
|
||||||
works with the @racket[sync] procedure to coordinate synchronization
|
works with the @racket[sync] procedure to coordinate synchronization
|
||||||
among threads. Certain kinds of objects double as events, including
|
among threads. Certain kinds of objects double as events, including
|
||||||
ports and threads. Other kinds of objects exist only for their use as
|
ports and threads. Other kinds of objects exist only for their use as
|
||||||
events.
|
events. Racket's event system is based on Concurrent ML @cite{Reppy99}.
|
||||||
|
|
||||||
At any point in time, an event is either @deftech{ready for
|
At any point in time, an event is either @deftech{ready for
|
||||||
synchronization}, or it is not; depending on the kind of event and how
|
synchronization}, or it is not; depending on the kind of event and how
|
||||||
|
|
|
@ -186,6 +186,13 @@ The @racketmodname[racket] library combines
|
||||||
#:location "Principles of Programming Languages"
|
#:location "Principles of Programming Languages"
|
||||||
#:date "1991")
|
#:date "1991")
|
||||||
|
|
||||||
|
(bib-entry #:key "Reppy99"
|
||||||
|
#:author "John H. Reppy"
|
||||||
|
#:title "Concurrent Programming in ML"
|
||||||
|
#:is-book? #t
|
||||||
|
#:location "Cambridge University Press"
|
||||||
|
#:date "1999")
|
||||||
|
|
||||||
(bib-entry #:key "Shan04"
|
(bib-entry #:key "Shan04"
|
||||||
#:author "Ken Shan"
|
#:author "Ken Shan"
|
||||||
#:title "Shift to Control"
|
#:title "Shift to Control"
|
||||||
|
|
|
@ -68,7 +68,9 @@
|
||||||
(alarm-evt (+ timeout (current-inexact-milliseconds))))
|
(alarm-evt (+ timeout (current-inexact-milliseconds))))
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(log "alarm woke up, waiting to suspend engine" w)
|
(log "alarm woke up, waiting to suspend engine" w)
|
||||||
|
(log-error "TRYING TIMEOUT")
|
||||||
(semaphore-wait can-stop-lock)
|
(semaphore-wait can-stop-lock)
|
||||||
|
(log-error "DOING TIMEOUT")
|
||||||
(log "suspending engine" w)
|
(log "suspending engine" w)
|
||||||
(thread-suspend worker)
|
(thread-suspend worker)
|
||||||
(semaphore-post can-stop-lock)
|
(semaphore-post can-stop-lock)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user