讨论区 综合讨论区 主题详情
黑板客
老师参与 睡眠排序python多线程多进程实现
# -*- coding: utf-8 -*- # CopyRight by heibanke import time import random from threading import Thread from multiprocessing import Process def sleepsort(n):     time.sleep(n*0.01)     print n,"--",          def thread_process_job(n, Thread_Process, job, value):     """     n: 多线程或多进程数     Thread_Process: Thread/Process类      job: countdown任务     """     local_time=time.time()     #实例化多线程或多进程     threads_or_processes = [Thread_Process(target=job,args=(value[i],)) for i in xrange(n)]     for t in threads_or_processes:         t.start() #开始线程或进程,必须调用     for t in threads_or_processes:         t.join() #等待直到该线程或进程结束          print n,Thread_Process.__name__," run job need ",time.time()-local_time      if __name__=="__main__":     sort_list = [random.randint(1,40) for i in xrange(10)]     print "Multi Threads"     for i in xrange(5):         sort_list = [random.randint(1,40) for i in xrange(10)]         thread_process_job(len(sort_list),Thread, sleepsort, sort_list)              print "Multi Process"     for i in xrange(5):         sort_list = [random.randint(1,40) for i in xrange(10)]         thread_process_job(len(sort_list),Process, sleepsort,sort_list)


比较搞笑的睡眠排序算法。看网上没写Python版本的,将课程示例代码giltest0修改一下即可实现。


http://blog.csdn.net/zmazon/article/details/8514088


运行看看能否达到排序的效果,修改修改睡眠参数看看效果是否有所变化。理解一下为什么。分享一下你的理解吧。

所有回复(0)

回复

最近活动:
创建时间:
浏览次数:1624
关注人数:0