您的位置:首页 > 编程语言 > Python开发

python核心编程-线程

2016-01-19 21:36 821 查看
多线程一般试用的场景:

它们本质上就是异步的,需要有多个并发事务,各个事务的运行顺序可以是不确定的,随机的,不可预测的。这样的编程任务可以被分成多个执行流,每个流都有一个要完成的目标。根据应用的不同,这些子任务可能都要

计算出一个中间结果,用于合并得到最后的结果。

非线程程序thread01.py:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from time import sleep, ctime

def 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, ctime
import thread

def 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: