多任务
苦练插画的摄影师Christine
这个作者很懒,什么都没留下…
展开
-
13、多任务-多任务介绍
linux 是一个多用户多任务的操作系统。通过SSH可以多人同时远程操作一台电脑,同时打开多个客户端就是多任务。多任务:多个函数一起跑。vim 01-没有多任务的程序.py思路:调用main函数,在main函数里调用两个函数.for i in rang(5): rang(5)表示从0到4循环五次,要想5秒,就用time.sleep(1),表示延时1秒,用到time就导入time模...原创 2019-08-13 10:51:54 · 122 阅读 · 0 评论 -
14、多任务-线程-主线程、子线程执行原理
如何实现多任务?利用threading模块里的Thread类来实现。类名后面加一个括号,表示创建一个对象,这个对象就是将来启动的线程t = threading.Thread(target=saySorry) # t指向了实例对象t.start() # 启动线程,让线程开始执行线程是实现多任务的一种手段。一个程序运行起来之后,肯定有一个执行代码的东西,这个东西就叫做线程。当代码执...原创 2019-08-13 10:52:03 · 177 阅读 · 0 评论 -
15、多任务-线程-查看正在运行的线程
在ipython3中测试知识点:threading中的enumerateenumerate得到的结果是一个元组,可以通过拆包得到序号和内容enumerate不仅可以得到子线程的数量还可以得到它本身03-查看线程数.py命令:按下esc到命令模式w:向右跳一个单词(word)b:向左跳一个单词按i进入编辑模式,删掉不需要的内容,重新输入代码解读:for i in ran...原创 2019-08-13 10:52:13 · 147 阅读 · 0 评论 -
16、多任务-线程-创建线程的两种方法-创建类继承Thread类
类的特点:封装、继承、多态创建一个MyThread类,这个类必须继承Thread类,必须有一个run方法,也可以有其他的方法,通过MyThread类创建一个对象t,因为是继承,所以t也有start方法用t = MyThread()来代替原来的t = threading.Thread(target=函数名)来创建对象t.start()会自动调用MyThread类的run方法综上,线程运行有...原创 2019-08-13 10:52:22 · 154 阅读 · 0 评论 -
17、多任务-多线程共享全局变量
如何区分全局变量和局部变量:一个写在函数里面,一个写在函数外面。如果要在函数里面修改全局变量:不用必须加globalvim 06-函数里面修改全局变量.pynum = 100def test(): global num num += 100print(num)test()print(num)以上代码执行的结果,第一次打印是100,调用test...原创 2019-08-13 10:52:47 · 403 阅读 · 0 评论 -
18、多任务-多线程共享全局变量-通过main函数传递参数
通过main函数传递参数给子线程,传什么内容都可以,但是必须是一个元组注意事项:格式化输入内容,是%s 而不是s%通过main函数传递元组参数给其他函数,元组中要加逗号,即args=(g_nums,)threading.Thread中的参数 t1 = threading.Thread(target=test1,args=(g_nums,))#target指定这个线程将来去哪个函数执...原创 2019-08-13 10:53:00 · 740 阅读 · 0 评论 -
19、多任务-线程-共享全局变量产生的问题资源竞争
共享全局变量会产生资源竞争前一篇文章中的代码没产生资源竞争,因为一个写一个读。命令:cp 02-多线程共享全局变量2.py 03-共享全局变量产生的问题-资源竞争.pyvim 03-共享全局变量产生的问题-资源竞争.py03-共享全局变量产生的问题-资源竞争.py代码解读:for i in range(num):表示下面的 g_num += 1代码执行num次,num将来传...原创 2019-08-13 10:53:09 · 271 阅读 · 0 评论 -
20、多任务-线程-同步概念、互斥锁解决资源竞争问题
上篇文章中子线程之间出现资源竞争的原因是CPU占用问题,一个子线程的代码没执行完就被切换掉,解决此问题的方法是,让代码全部执行完再切换,或者根本不让执行,不能执行到一半切换另一个线程。原则同银行转账,转账时借钱人把钱转出去,但是收款人没收到,杜绝这种情况。...原创 2019-08-13 10:53:18 · 177 阅读 · 0 评论 -
21、多任务-线程
可以同时有多个锁。原创 2019-08-13 10:53:29 · 75 阅读 · 0 评论