微信号:grzlwx

介绍:光荣之路官方资讯

python 多线程就这么简单(一)

2015-05-18 21:58 光荣之路


多线程和多进程是什么自行google补脑

  对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。

单线程

  在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事儿,那么一定要先排一下顺序。

(好吧!我们不纠结在DOS时代是否有听音乐和看影的应用。^_^


from time import ctime,sleepdef music(): for i in range(2): print "I was listening to music. %s" %ctime() sleep(1)def move(): for i in range(2): print "I was at the movies! %s" %ctime() sleep(5)if __name__ == '__main__': music() move() print "all over %s" %ctime()


  我们先听了一首音乐,通过for循环来控制音乐的播放了两次,每首音乐播放需要1秒钟,sleep()来控制音乐播放的时长。接着我们又看了一场电影,

每一场电影需要5秒钟,因为太好看了,所以我也通过for循环看两遍。在整个休闲娱乐活动结束后,我通过

print "all over %s" %ctime()

看了一下当前时间,差不多该睡觉了。

运行结果:


>>=========================== RESTART ================================
>>> I was listening to music. Thu Apr 17 10:47:08 2014I was listening to music. Thu Apr 17 10:47:09 2014I was at the movies! Thu Apr 17 10:47:10 2014I was at the movies! Thu Apr 17 10:47:15 2014all over Thu Apr 17 10:47:20 2014

 

  其实,music()和move()更应该被看作是音乐和视频播放器,至于要播放什么歌曲和视频应该由我们使用时决定。所以,我们对上面代码做了改造:


#coding=utf-8import threadingfrom time import ctime,sleepdef music(func): for i in range(2): print "I was listening to %s. %s" %(func,ctime()) sleep(1)def move(func): for i in range(2): print "I was at the %s! %s" %(func,ctime()) sleep(5)if __name__ == '__main__': music(u'爱情买卖') move(u'阿凡达') print "all over %s" %ctime()


  对music()和move()进行了传参处理。体验中国经典歌曲和欧美大片文化。

运行结果:


>>> ======================== RESTART ================================
>>> I was listening to 爱情买卖. Thu Apr 17 11:48:59 2014I was listening to 爱情买卖. Thu Apr 17 11:49:00 2014I was at the 阿凡达! Thu Apr 17 11:49:01 2014I was at the 阿凡达! Thu Apr 17 11:49:06 2014all over Thu Apr 17 11:49:11 2014

(未完待续)

(作者:虫师 来源:http://www.cnblogs.com/fnng/p/3670789.html)


光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499




 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 能让程序员更有干劲的10个技巧 成都Meetup小组聚会通知(日期已改) Swift教程第三部分:元组,协议,委托和表格视图 你不知道的Z-Index Jigsaw项目会解决Java的JAR地狱问题么?