Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
6
Task/Mutex/Racket/mutex-1.rkt
Normal file
6
Task/Mutex/Racket/mutex-1.rkt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
(define foo
|
||||
(let ([sema (make-semaphore 1)])
|
||||
(lambda (x)
|
||||
(dynamic-wind (λ() (semaphore-wait sema))
|
||||
(λ() (... do something ...))
|
||||
(λ() (semaphore-post sema))))))
|
||||
10
Task/Mutex/Racket/mutex-2.rkt
Normal file
10
Task/Mutex/Racket/mutex-2.rkt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
(define-syntax-rule (define/atomic (name arg ...) E ...)
|
||||
(define name
|
||||
(let ([sema (make-semaphore 1)])
|
||||
(lambda (arg ...)
|
||||
(dynamic-wind (λ() (semaphore-wait sema))
|
||||
(λ() E ...)
|
||||
(λ() (semaphore-post sema)))))))
|
||||
;; this does the same as the above now:
|
||||
(define/atomic (foo x)
|
||||
(... do something ...))
|
||||
Loading…
Add table
Add a link
Reference in a new issue