2011/05/20

Recent entries from same category

  1. gRPC のサービスが簡単に作れるライブラリ「lile」
  2. CreateFile で FILE_SHARE_DELETE を指定するとどうなるか
  3. Visual Studio Code で ssh 先のファイルを編集する方法
  4. 虫が入り込むその瞬間
  5. ダウンロードの進捗プログレスバー実装は可能か

4chan BBS - Genius sorting algorithm: Sleep sort
http://dis.4chan.org/read/prog/1295544154
常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream
http://d.hatena.ne.jp/gfx/20110519/1305810786
Sleep sort with AnyEvent - TokuLog 改メ tokuhirom’s blog
http://d.hatena.ne.jp/tokuhirom/20110519/1305814594
こういうのはGoが得意分野だよね。
package main

import (
    "os"
    "strconv"
    "syscall"
)

func main() {
    args := os.Args[1:]

    done := make(chan int64)
    for _, arg := range args {
        i, _ := strconv.Atoi64(arg)
        go func(i int64) {
            syscall.Sleep(i * 1e9)
            done <- i
        }(i)
    }
    for _ = range args {
        println(<-done)
    }
}

blog comments powered by Disqus