Hola, necestito hacer un semáforo binario para Dolphin SmallTalk, Alguién
conoce si hay alguna implementación?
El Mutex que tiene Dolphin no me sirve para lo que yo necesito y la clase
Semaphore no me sirve porque ante varios "signal" se incrementa el número
de procesos concurrentes.
Yo creé una clase propia, la cual les subo la implementación, pero no sé si
está del todo bien. Probé con varios test obteneindo buenos resultados pero
aún así me genera dudas.
Object subclass: #BinarySemaphore
instanceVariableNames: 'semaforoBinario'
classVariableNames: ''
poolDictionaries: ''
classInstanceVariableNames: ''
initialize
semaforoBinario := Semaphore forMutualExclusion.
isEnabled
[^semaforoBinario excessSignals > 0] critical.
signal
"[semaforoBinario isEmpty ifTrue: [semaforoBinario set] ifFalse:
[semaforoBinario pulse]] critical"
[semaforoBinario excessSignals > 0 ifTrue: [semaforoBinario set]
ifFalse: [semaforoBinario signal]]
critical
wait
semaforoBinario wait
Estoy usando Dolphin SmallTalk 7.1.9
Desde ya muchas gracias por su tiempo.
Saludos
--
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
http://www.clubSmalltalk.org
---
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de
Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
envía un correo electrónico a [email protected].
Para ver este debate en la Web, visita
https://groups.google.com/d/msgid/clubsmalltalk/79c55bb3-2249-49fe-948b-59f0e19addffn%40googlegroups.com.