python核心编程-线程

来源:互联网 发布:淘宝商城 天猫裙子 编辑:程序博客网 时间:2024/05/01 09:51

多线程一般试用的场景:
它们本质上就是异步的,需要有多个并发事务,各个事务的运行顺序可以是不确定的,随机的,不可预测的。这样的编程任务可以被分成多个执行流,每个流都有一个要完成的目标。根据应用的不同,这些子任务可能都要
计算出一个中间结果,用于合并得到最后的结果。

非线程程序thread01.py:

#!/usr/bin/env python# -*- coding: UTF-8 -*- from time import sleep, ctimedef loop0():    print 'start loop 0 at:', ctime()    sleep(4)    print 'loop 0 done at:', ctime()def loop1():    print 'start loop 1 at:', ctime()    sleep(2)    print 'loop 1 done at:', ctime()def main():    print 'starting at:', ctime()    loop0()    loop1()    print 'all DONE at:', ctime()if __name__=='__main__':    main()

线程程序thread02.py:

#!/usr/bin/env python# -*- coding: UTF-8 -*- ''' function :线程模块thread    仅练习'''from time import sleep, ctimeimport threaddef loop0():    print 'start loop 0 at:', ctime()    sleep(4)    print 'loop 0 done at:', ctime()def loop1():    print 'start loop 1 at:', ctime()    sleep(2)    print 'loop 1 done at:', ctime()def main():    print 'starting at:', ctime()    thread.start_new_thread(loop0,())    thread.start_new_thread(loop1,())    sleep(6)    print 'all DONE at:', ctime()if __name__=='__main__':    main()

输出:
D:\Python27\test>thread01.py
starting at: Tue Jan 19 21:29:44 2016
start loop 0 at: Tue Jan 19 21:29:44 2016
loop 0 done at: Tue Jan 19 21:29:48 2016
start loop 1 at: Tue Jan 19 21:29:48 2016
loop 1 done at: Tue Jan 19 21:29:50 2016
all DONE at: Tue Jan 19 21:29:50 2016

D:\Python27\test>thread02.py
starting at: Tue Jan 19 21:29:52 2016
start loop 0 at:start loop 1 at: Tue Jan 19 21:29:52 2016Tue Jan 19 21:29:52 2016

loop 1 done at: Tue Jan 19 21:29:54 2016
loop 0 done at: Tue Jan 19 21:29:56 2016
all DONE at: Tue Jan 19 21:29:58 2016

D:\Python27\test>

0 0
原创粉丝点击