文章分类 - Python
Python学习
摘要:1.进程池 为什么要有进程池?进程池的概念。 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁进程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他
阅读全文
摘要:1.进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。 但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加
阅读全文
摘要:1.进程间通信 IPC(Inter-Process Communication) 2.队列 2.1概念介绍multiprocessqueue 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。Queue([maxsize])创建共享的进程队列。 参数:ma
阅读全文
摘要:1.多进程抢占输出资源 import os import time import random from multiprocessing import Process def work(n): print('%s: %s is running' %(n,os.getpid())) time.slee
阅读全文
摘要:之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果,也就是说,当我们的程序中存在多个进程的
阅读全文
摘要:1.进程的创建 但凡是硬件,都需要有操作系统去管理,只要有操作系统,就有进程的概念,就需要创建进程的方式,一些操作系统只为一个应用程序设计,比如微波炉中的控制器,一旦启动的微波炉,所有进程都已经存在。 而对于通用系统(跑很多应用程序),需要有系统运行过程中创建或撤销进程的能力,主要分未4种形式创建心
阅读全文
摘要:1.状态介绍 在了解其他概念之前,外面首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 运行/执行(Runni
阅读全文
摘要:1.进程的并行和并发 并行:并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU) 并发:并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A,交替使用,目的是提高效率。 2.并行和
阅读全文
摘要:要想多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随即进行的,而是需要遵循一定的法则,由此就有了进程的调度算法。 1.先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可以用于进程调度。FCFS算法比较有利于长作业(进程),而不利于
阅读全文
摘要:1.操作系统背景知识 进程就是正在执行的一个过程,进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统。 PS:即使可以利用的
阅读全文
摘要:1.手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机
阅读全文
摘要:单例模式是一个软件的设计模式,为了保证一个类,无论调用多少次产生的实例对象,都是指向同一个内存地址,仅仅只有一个实例(对象)! 方式一: @classmethod class Foo(object): # 定义了一个类的数据属性, # 用于接收对象的实例,判断对象的实例是否只有一个 _instanc
阅读全文
摘要:1.引入 python中一切皆对象,那么类也是对象,是调用元类实例化而得到的对象。 2.什么是元类 元类就是用来实例化产生类的类 关系:元类 实例化 >类(People) 实例化 >对象(obj) class People: def __init__(self,name,age): self.nam
阅读全文
摘要:__str__ str 会在打印对象时自动触发,然后将返回值(必须是字符串类型)当做本次打印的结果输出 class People: def __init__(self,name,age): self.name=name self.age=age def __str__(self): print('运
阅读全文
摘要:1.什么是反射 反射是在程序运行的过程中“动态”获取对象的信息,也就是说程序执行到了对象这一步的时候才会去获取对象的信息。 2.为什么要用反射 假设两个程序配和使用,第一个程序的将运行得到的数据传给第二个程序继续运行,第二个程序并不知道数据的信息(值、类型),盲目的执行肯定不行,这个时候就可以用到反
阅读全文
摘要:1.变量存在哪了? 当我们在p1.py中定义一个变量x = 10,那么计算机把这个变量值10存放在哪里呢了? 我们回顾计算机的三大核心组件为:CPU、内存和硬盘。一定不是CPU,那是存放在内存还是硬盘中了呢?我们再回顾变量运行的三个过程,如果我们没有使用python解释器运行p1.py这个文件,那么
阅读全文
摘要:回顾: 函数对象:可以将定义在函数内的函数返回到全局使用,从而打破函数的层级限制。 名称空间与作用域:作用域关系在函数定义阶段时就已经固定死了。与调用位置无关,即在任意位置调用函数都需要跑到定义函数时找到作用域关系 def f1(): x = 1 def inner(): print(x) retu
阅读全文
摘要:字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。 1.用途 存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。 2.定义 {}内用逗号分隔开多个元素,每一个元素都是ke
阅读全文
摘要:变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写 AGE_OF_NICK = 19 print(AGE_OF_NICK) 19 AGE_OF_NICK = AGE_OF_NICK + 1 pr
阅读全文
摘要:我们讲到机器语言、汇编语言和高级语言,毫无疑问,机器语言和汇编语言我们可以放弃学习,谁想学让谁学去吧!我们重心可以放在高级语言上面,但是高级语言中的编译型语言和汇编型语言两者是互相矛盾的。这个时候对于不同的问题我们就应该有不同的策略,如果我们需要开发一个类似于操作系统这样要求执行速度并且开发周期长的
阅读全文

浙公网安备 33010602011771号