June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,12 +1,5 @@
fun main():
let words = ['Enjoy', 'Rosetta', 'Code']
random.seed(time.now())
let q = Chan[Str]()
for w in words:
run (w:) ->
time.sleep(random())
q << w
for i in [:words.size]:
print q
let words = ["Enjoy", "Rosetta", "Code"]
for word in words:
async (word) =>
sleep(random())
print(word)

View file

@ -2,19 +2,20 @@ package main
import (
"fmt"
"math/rand"
"golang.org/x/exp/rand"
"time"
)
func main() {
words := []string{"Enjoy", "Rosetta", "Code"}
rand.Seed(time.Now().UnixNano())
seed := uint64(time.Now().UnixNano())
q := make(chan string)
for _, w := range words {
go func(w string) {
time.Sleep(time.Duration(rand.Int63n(1e9)))
for i, w := range words {
go func(w string, seed uint64) {
r := rand.New(rand.NewSource(seed))
time.Sleep(time.Duration(r.Int63n(1e9)))
q <- w
}(w)
}(w, seed+uint64(i))
}
for i := 0; i < len(words); i++ {
fmt.Println(<-q)

View file

@ -0,0 +1,10 @@
words = ["Enjoy", "Rosetta", "Code"]
function sleepprint(s)
sleep(rand())
println(s)
end
@sync for word in words
@async sleepprint(word)
end