欢迎来到天天文库
浏览记录
ID:44811871
大小:111.00 KB
页数:8页
时间:2019-10-29
《python多线程就这么简单》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、python多线程就这么简单单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事儿,那么一定要先排一下顺序。 (好吧!我们不纠结在DOS时代是否有听音乐和看影的应用。^_^) 复制代码fromtimeimportctime,sleep defmusic(): foriinrange(2): print"Iwaslisteningtomusic.%s"%ctime() sleep(1) defmove(): foriinrange(2):
2、 print"Iwasatthemovies!%s"%ctime() sleep(5) if__name__=='__main__': music() move() print"allover%s"%ctime()复制代码 我们先听了一首音乐,通过for循环来控制音乐的播放了两次,每首音乐播放需要1秒钟,sleep()来控制音乐播放的时长。接着我们又看了一场电影, 每一场电影需要5秒钟,因为太好看了,所以我也通过for循环看两遍。在整个休闲娱乐活动结束后,我看了一下当前时间,差不多
3、该睡觉了。 运行结果: 复制代码>>===========================RESTART================================>>> Iwaslisteningtomusic.ThuApr1710:47:082014Iwaslisteningtomusic.ThuApr1710:47:092014Iwasatthemovies!ThuApr1710:47:102014Iwasatthemovies!ThuApr1710:47:152014alloverThuApr
4、1710:47:202014复制代码 其实,music()和move()更应该被看作是音乐和视频播放器,至于要播放什么歌曲和视频应该由我们使用时决定。所以,对上面代码做了改造: 复制代码#coding=utf-8importthreadingfromtimeimportctime,sleep defmusic(func): foriinrange(2): print"Iwaslisteningto%s.%s"%(func,ctime()) sleep(1) defmove(func)
5、: foriinrange(2): print"Iwasatthe%s!%s"%(func,ctime()) sleep(5) if__name__=='__main__': music(u'爱情买卖') move(u'阿凡达') print"allover%s"%ctime()复制代码 对music()和move()进行了传参处理。体验中国经典歌曲和欧美大片文化。 运行结果: 复制代码>>>========================RESTART============
6、====================>>> Iwaslisteningto爱情买卖.ThuApr1711:48:592014Iwaslisteningto爱情买卖.ThuApr1711:49:002014Iwasatthe阿凡达!ThuApr1711:49:012014Iwasatthe阿凡达!ThuApr1711:49:062014alloverThuApr1711:49:112014复制代码 多线程 科技在发展,时代在进步,我们的CPU也越来越快,CPU抱怨,P大点事儿占了我一定
7、的时间,其实我同时干多个活都没问题的;于是,操作系 统就进入了多任务时代。我们听着音乐吃着火锅的不在是梦想。 python提供了两个模块来实现多线程thread和threading,thread有一些缺点,在threading得到了弥补,为了不浪费你和时间,所以我们直 接学习threading就可以了。 继续对上面的例子进行改造,引入threadring来同时播放音乐和视频: 复制代码#coding=utf-8importthreadingfromtimeimportctime,sleep de
8、fmusic(func): foriinrange(2): print"Iwaslisteningto%s.%s"%(func,ctime()) sleep(1) defmove(func): foriinrange(2): print"Iwasatthe%s!%s"%(func,ctime()) sleep(5) threads=[]t1=threading.Thread(target=music
此文档下载收益归作者所有