一.理论部分 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上分的任务, 但egon同一时刻只能做一个任务(cpu同一时间只能干一个活),如何才能玩出多个任务并发执行的效果? egon备一会课,再去跟李杰的女朋友聊聊天,再去打一会王者荣耀....这就保证了每个任务都在进行中. 二 进程与程序的区别 程序仅仅只是一堆代…
Cpython解释器支持的进程与线程 阅读目录 一 python并发编程之多进程 1.1 multiprocessing模块介绍 1.2 Process类的介绍 1.3 Process类的使用 1.4 进程同步(锁) 1.5 进程间通信(IPC)方式一:队列(推荐使用) 1.6 进程间通信(IPC)方式二:管道(不推荐使用,了解即可) 1.7 进程间通信方式三:共享数据(不推荐使用,了解即可) 1.8 信号量,事件...(了解即可) 1.9 进程池 二 python并发编程之多线程 2.1 th…
一.Python并发编程之多进程 1. multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.Python提供了非常好用的多进程包multiprocessing. multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似. multiprocessing模块的功能众多:支…
因为Python解释器帮你自动定期进行内存回收,你可以理解为python解释器里有一个独立的线程,每过一段时间它起wake up做一次全局轮询看看哪些内存数据是可以被清空的,此时你自己的程序 里的线程和 py解释器自己的线程是并发运行的,假设你的线程删除了一个变量,py解释器的垃圾回收线程在清空这个变量的过程中的clearing时刻,可能一个其它线程正好又重新给这个还没来及得清空的内存空间赋值了,结果就有可能新赋值的数据被删除了,为了解决类似的问题,python解释器简单粗暴的加了锁,即当一个线…
多道技术 并发:看起来像同时运行 并行:真正意义上的同时运行,并行肯定是并发 空间的复用与时间复用 空间复用 多个程序用一套计算机硬件 时间复用 程序切换节省时间 ''' 切换(cup)分为两种情况 1.当一个程序遇到IO操作的时候,操作系统会剥夺该程序的CPU执行权限 作用:提高CPU的利用率,并且不影响程序的执行效率 2.当一个程序长时间占用CPU的时候,操作吸引也会剥夺该程序的CPU执行权限 弊端:降低程序的执行效率(原本时间+切换时间) ''' 进程 程序与进程的区别 程序是一堆代码,保…
简要: paramiko模块 进程与线程 python GIL全局解释器锁 一.PARAMIKO模块 实现远程ssh执行命令 #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui import paramiko ssh = paramiko.SSHClient() #创建ssh对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在know_host…
线程详细用法请参考:http://www.cnblogs.com/sunshuhai/articles/6618894.html 一.初始多线程 通过下面两个例子的运行效率,可以得知多线程的速度比单线程的要快很多 #!usr/bin/env python # -*- coding:utf-8 -*- import time def print_num(arg): time.sleep(1) print(arg) #每秒打印一个数字,速度非常慢 for i in range(10): print_…
# -*- coding: utf-8 -*- """ 获得线程, 进程 ID,NAME 总结: """ import threading import psutil import os import datetime # 1 获取线程ID,NAME t = threading.currentThread() #线程ID print('Thread id : %d' % t.ident) #线程NAME print('Thread name :…
一.操作系统 1.定义 操作系统是用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间.操作系统运行在内核态,拥有对所有硬件的完全访问权,可以执行机器能够运行的任何指令.软件的其余部分运行在用户态.在用户态下,只使用了机器指令中的一个子集,且影响机器的控制或可进行IO(输入/输出)操作的指令是禁止的. 2.发展历史 (1)真空管与穿孔卡片 操作流程:程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动…
要了解二者的区别与联系,首先得对进程与线程有一个宏观上的了解. 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位.每一个进程都有一个自己的地址空间,即进程空间或(虚空间).进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 232 .进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态. 线程,在网络或多用户环境下,一个服务器通常需要接收大量…