ざっくりSleepsortをPythonで書いてみようとしたら、先達がたくさんいたがとりあえずさらす

4chan BBS - Genius sorting algorithm: Sleep sort
常識を覆すソートアルゴリズム!その名も"sleep sort"!


 multiprocessingは使いやすいねぇ。
 しかし、ほんと久々にPythonで書いたから色々忘れていてダメな状態。業務だとC#ぐらいだしなぁ……

#!/usr/bin/env python
import multiprocessing
import time
import random


def worker(num):
   time.sleep(num)
   print(num)


def sleepsort(num):
    for m in [random.randint(1, num) for i in xrange(num)]:
        p = multiprocessing.Process(target=worker, args=(m,))
        p.start()


if __name__ == '__main__':
    num = 20
    import sys
    if len(sys.argv) > 1:
        num = int(sys.argv[1])
    sleepsort(num)