Events: Difference between revisions

Content added Content deleted
(Added F# version)
No edit summary
Line 393: Line 393:
putStrLn "[2] Received event."</lang>
putStrLn "[2] Received event."</lang>
Note: Because there is no serialization of the text output, there is a chance that it will appear interleaved.
Note: Because there is no serialization of the text output, there is a chance that it will appear interleaved.

==Icon and {{header|Unicon}}==

The following only works in Unicon:
<lang unicon>record Event(cond, value)

procedure main()
event := Event(condvar())
t1 := thread {
write("Waiting for event....")
critical event.cond: while /(event.value) do wait(event.cond)
write("Event occurred.")
}
t2 := thread {
delay(1000)
event.value := "yes"
write("Signalling event.")
signal(event.cond)
}
every wait(t1|t2)
end</lang>

Sample run:
<pre>
->event
Waiting for event....
Signalling event.
Event occurred.
->
</pre>


=={{header|JavaScript}}==
=={{header|JavaScript}}==