Concurrent computing: Difference between revisions

Content added Content deleted
(Added Wren)
Line 1,983: Line 1,983:
Enjoy
Enjoy
Code</pre>
Code</pre>

=={{header|Wren}}==
<lang ecmascript>import "random" for Random

var words = ["Enjoy", "Rosetta", "Code"]
var rand = Random.new()
for (h in 1..3) {
var fibers = List.filled(3, null)
for (i in 0..2) fibers[i] = Fiber.new { System.print(words[i]) }
var called = List.filled(3, false)
var j = 0
while (j < 3) {
var k = rand.int(3)
if (!called[k]) {
fibers[k].call()
called[k] = true
j = j + 1
}
}
System.print()
}</lang>

{{out}}
Sample run:
<pre>
Enjoy
Code
Rosetta

Code
Enjoy
Rosetta

Rosetta
Enjoy
Code
</pre>


=={{header|zkl}}==
=={{header|zkl}}==