![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python多任务
文章平均质量分 92
还是那个同伟伟
百万代码中取bug首级
展开
-
Python多任务(8.进程与线程之间的区别以及多进程和多线程的区别 )
1. 进程、线程的对比进程,能够完成多任务,比如: 一台电脑上可以运行登录多个QQ 线程,能够完成多任务,比如: 一个QQ中可以和有多个聊天窗口 进程里面包含线程,线程不能够独立执行,必须依存在进程中。 线程耗费的资源小, 进程耗费的资源大 线程是轻型进程 ,一个进程可拥有多个线程 进程之间是互相独立的, 线程之间是共享的2.关系对比线程是依附在进程里面的,没有进程就没有线程。 一个进程默认提供一个线程,进程可以创建多个线程 进程里面包含着线程3.区别对比进...原创 2020-11-05 20:27:54 · 185 阅读 · 0 评论 -
Python多任务(7.多进程的应用:文件的拷贝器例子)
涉及的知识点1. os.mkdir(path) # os模块的功能,在指定路径上创建文件夹 os.listdir(path) # os模块的功能,打开指定文件夹里面的内容,返回一个列表,该文件夹里面的所有文件都在列表里面 2. pool = multiprocessing.Pool(5) # 创建一个进程池,最大进程数为5 q = m...原创 2018-11-14 20:38:54 · 239 阅读 · 0 评论 -
Python多任务(3.线程--多线程共享全局变量,利用同步解决资源竞争,利用互斥锁)
1. 线程之间是共享全局变量的 验证代码:import threadingimport time# 定义一个全局变量g_num = 100def test1(): # 修改g_num的值 global g_num g_num += 1 print("-----in test1 g_num=%d-----"%g_num)...原创 2018-11-12 20:30:49 · 3452 阅读 · 0 评论 -
Python多任务(多线程执行带有参数的任务,利用threading创建线程时传入参数--args参数和kwargs参数)
target : 指定 这个线程去哪个函数里面去执行代码 args: 指定将来调用 函数的时候 传递什么数据过去 args参数指定的一定是一个元组类型import threadingimport timeg_nums = [1,2]def test1(temp): temp.append(33) pri......原创 2018-11-12 18:00:53 · 58694 阅读 · 6 评论 -
Python多任务(2.线程的概念以及组成(创建线程的两种方式))
线程是一个独立的执行流,系统中的多个线程可以并行及并发执行,多个线程可以共享数据与资源、利用了所谓的共享信息空间。 一个线程主要由3个元素构成: 程序计数器、寄存器、与栈1.Python中threading模块可以总结出: (1)当调用Thread的时候,不会创建线程(2)调用Thread创建出来的实例对象的start方法的时候,才会创建线程以及让这个线程开始...原创 2018-11-12 15:53:44 · 245 阅读 · 0 评论 -
Python多任务(6.Python中进程池Pool)
进程池Pool (1).当创建的任务不多时,可以利用multiprocessing中的Process动态生产多个进程, 但如果有上百或上千目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocess模块提供的Pool方法。(2). 在进程池中,可以指定一个最大进程数,如果有新的请求提交到进程池中,如果池还没有满,那么就会创建一个新的进程 用来执行该请求,但如果...原创 2018-11-13 21:25:29 · 15343 阅读 · 4 评论 -
Python多任务(1.多任务的介绍、并发和并行概念及小例子)
1.什么是“多任务”呢? 简单地说,就是操作系统可以同时执行多个任务 在代码里面,就是一个程序有多个地方同时执行 打个比方,你一边用着这浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务2.单核CPU是怎么解决多任务的? 单核:意味着同一时刻只能执行一件事情 操作系统轮流让各任务交替执行,任务1执行0.01秒,切换到任务2,任务2执...原创 2018-11-11 17:39:24 · 762 阅读 · 0 评论 -
Python多任务(5. 进程之间的通信-Queue队列)
1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序。因为进程之间是独立的所以, 利用Queue来完成数据的共享看下面的例子,模拟,一个进程来进行下载数据,一个进程来进行处理数据import multiprocessing'''一个进程模拟写数据'''def data_fil...原创 2018-11-13 16:40:44 · 3151 阅读 · 0 评论 -
Python多任务(1.多进程的概念和用法 )
1.进程: (一个正在执行中的程序) 一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元 不仅可以通过线程完成多任务,进程也是可以的2. 进程的状态:3. 利用multiprocess模块里面的Process,调用start()方法实现多进程 对象名 =multiprocessing.Process(targe...原创 2018-11-13 15:44:47 · 373 阅读 · 0 评论 -
Python多任务(4.多线程--Python中的互斥锁和死锁)
死锁 (1)死锁是一种状态 (2)有多个互斥锁时,就有可能出现死锁这种状态。 (2)在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁避免死锁: (1)程序设计时要尽量避免(银行家算法) 什么是银行家算法? (2) 添加超时时间等...原创 2018-11-12 21:46:17 · 518 阅读 · 0 评论