01 2024 档案

摘要:(一)基于单线程来实现并发 (0)并发的本质 基于单线程实现并发 即只用一个主线程(可利用的cpu只有一个)的情况下实现并发 并发的本质: 切换+保存状态 cpu正在运行一个任务 会在两种情况下去执行其他的任务 一:发生了IO阻塞 二:该任务的计算事件过长或者有一个优先级更高的任务代替了它 进程中的 阅读全文
posted @ 2024-01-25 14:44 苏苏!! 阅读(6) 评论(0) 推荐(0) 编辑
摘要:基于async和await关键字的协程可以实现异步编程,这也是目前Python异步相关的主流技术。 (一)asyncio模块 asyncio模块是Python中实现异步的一个模块,该模块在Python3.4的时候发布 asycnio和await关键字在Python3.5引入 (二)事件循环 事件循环 阅读全文
posted @ 2024-01-25 14:44 苏苏!! 阅读(15) 评论(0) 推荐(0) 编辑
摘要:(一)IO模型简介 目前我们眼睛的IO都是基于网络IO的 Stevens在文章中一共比较了五种IO Model: blocking IO 阻塞IO模型 nonblocking IO 非阻塞IO模型 IO multiplexing IO多路复用模型 signal driven IO (忽略) asyn 阅读全文
posted @ 2024-01-25 14:44 苏苏!! 阅读(19) 评论(0) 推荐(0) 编辑
摘要:(一)引入 (1)什么是进程间的通信 IPC 进程间通信(Inter-Process Communication, IPC)是指两个或多个进程之间进行信息交换的过程 它是一种计算机编程技术,用于在不同的进程之间共享数据和资源 (2)如何实现进程间通信 借助于消息队列,进程可以将消息放入队列中,然后由 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(17) 评论(0) 推荐(0) 编辑
摘要:(一)引入 借助于消息队列,进程可以将消息放入队列中,然后由另一个进程从队列中取出。 这种通信方式是非阻塞的,即发送进程不需要等待接收进程的响应即可继续执行。 multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的 进程间通信(IPC)方式二:管道(不推荐使用,了解 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(13) 评论(0) 推荐(0) 编辑
摘要:(一)GIL全局解释器锁介绍 GIL锁存在于我妈的解释器或者,解释器生来自带的锁 GIL锁是CPython解释器独有的一种锁 GIL锁导致的后果就是同一时刻同一个进程下只能有一个线程在运行,导致Python无法利用多核优势 # 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(70) 评论(0) 推荐(0) 编辑
摘要:(零)队列queue介绍 queue队列 : 使用import queue,用法与进程Queue一样 queue is especially useful in threaded programming when information must be exchanged safely betwee 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(104) 评论(0) 推荐(0) 编辑
摘要:(一)什么是池 无论是开设进程还是开设线程,都需要消耗资源 只不过开设线程消耗的资源比开设进程消耗的资源要少一些 硬件的开发速度远远跟不上软件的开发速度 我们的宗旨是保证计算机硬件正常工作的情况下最大限度的利用计算机 池 池是用来保证计算机硬件安全的情况下最大限度的利用计算机 池降低了程序的运行效率 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(7) 评论(0) 推荐(0) 编辑
摘要:主进程死亡,子线程也死亡 """守护线程""" # 主进程死亡,子线程也死亡 # 导入模块 from threading import Thread import time def run_task(): print(f"这是一个线程") time.sleep(3) def main_thread( 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(7) 评论(0) 推荐(0) 编辑
摘要:(一)死锁 (1)介绍 死锁是两个或多个进程,在执行过程中,因争夺资源而造成了互相等待的一种现象 即两个或多个进程蚩尤各自的锁并试图获取对方持有的锁,从而导致被阻塞,不能向前执行。最终形成僵局 在这种情况下,系统资源利用率极低,系统处于一种死循环状态 (2)示例 from threading imp 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(26) 评论(0) 推荐(0) 编辑
摘要:(一)问题 所有的子线程都会进行阻塞操作,导致最后的改变只是改了一次 from threading import Thread number= 100 def run_task(): global number # 设置一个线程自己的变量 t_number=number time.sleep(3) 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(4) 评论(0) 推荐(0) 编辑
摘要:(一)信号量 信号量Semahpore(同线程一样) (1)引入 互斥锁是 同一时刻只能由一个线程更改数据,而信号量是同一时刻可以允许一定数量的线程更改数据 互斥锁 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 比如厕所有3个坑,那最多只允许3个人上厕所,后面的人 阅读全文
posted @ 2024-01-25 14:43 苏苏!! 阅读(37) 评论(0) 推荐(0) 编辑
摘要:操作系统 (一)引入 顾名思义,进程即正在执行的一个过程。 进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。 操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统 (二)为什 阅读全文
posted @ 2024-01-17 20:13 苏苏!! 阅读(25) 评论(0) 推荐(0) 编辑
摘要:(一)什么是进程 理论上 正在进行的一个过程或者说一个任务 负责执行任务的是CPU (二)进程和程序的区别 理论上 程序就是一堆代码 进程是程序运行的过程 需要强调的是:同一个程序执行两次,那也是两个进程,比如打开暴风影音,虽然都是同一个软件,但是一个可以播放西游记,一个可以播放水浒传。 (三)进程 阅读全文
posted @ 2024-01-17 20:13 苏苏!! 阅读(13) 评论(0) 推荐(0) 编辑
摘要:(一)sultiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。 Python提供了multiprocessing。 multiprocessing模块用来开启子进 阅读全文
posted @ 2024-01-17 20:13 苏苏!! 阅读(7) 评论(0) 推荐(0) 编辑
摘要:socke简介 我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标识一个进程但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标 阅读全文
posted @ 2024-01-17 20:12 苏苏!! 阅读(58) 评论(0) 推荐(0) 编辑
摘要:socket编程 socke编程又称套接字编程 TCP套接字编程模板 server 服务端 # 导入模块 import socket # 获取服务端对象 server = socket.socket() # 获取IP 和 端口号 IP='127.0.0.1' PORT=9888 # 将IP和套接字绑 阅读全文
posted @ 2024-01-17 20:12 苏苏!! 阅读(20) 评论(0) 推荐(0) 编辑
摘要:网络编程 cs架构与bs架构 引入 C/S和B/S都是互联网中常见的网络结构模型。 (一)什么是C/S模型 C是英文单词'Client'的首字母,即客户端的意思。 C/S就是'Client/Server'的缩写,即'客户端/服务器'模式 例如:拼多多APP等客户端。 (二)什么是B/S模型 B是英文 阅读全文
posted @ 2024-01-17 20:11 苏苏!! 阅读(85) 评论(0) 推荐(0) 编辑
摘要:设计模式 (一)什么是设计模式 设计模式是一种描述在特定上下文中常见问题及其解决方案的模板或蓝图。 它们是在软件工程中解决通用问题的经验总结,被广泛接受并应用于各种编程语言和框架中。 # 什么是设计模式 # 设计模式:就是解决问题的模板 # 大牛们会遇到各种各样的问题,长久以来就形成了一套相对规范的 阅读全文
posted @ 2024-01-12 20:42 苏苏!! 阅读(30) 评论(0) 推荐(0) 编辑
摘要:pickle模块 (一)什么是pickle模块 pickle 模块是 Python 内置的一个序列化和反序列化的模块,它可以将 Python 对象转换为字节流,也可以将字节流转换回 Python 对象。 这些操作通常被称为序列化和反序列化。 pickle模块只能在python中使用 (二)序列化和反 阅读全文
posted @ 2024-01-12 20:42 苏苏!! 阅读(22) 评论(0) 推荐(0) 编辑
摘要:内置方法 引入 Python的Class机制内置了很多特殊的方法来e帮助使用者高度定制自己的类 这些内置方法都是以双下划线开头和结尾的,会在满足某种条件时自动触发 __init__ :初始化类时触发 __del__ :删除类时触发 __new__ :构造类时触发 __str__ :str函数或者pr 阅读全文
posted @ 2024-01-12 20:41 苏苏!! 阅读(18) 评论(0) 推荐(0) 编辑
摘要:元类 (一)什么是元类 创建出类的类就是元类 """元类""" # 什么是元类 # 元类:就是产出类的类 创建出类的类 type # 在python中一切皆对象 class Person(object): def __init__(self,name): self.name=name # 实例化类得 阅读全文
posted @ 2024-01-12 20:41 苏苏!! 阅读(13) 评论(0) 推荐(0) 编辑
摘要:issubclass和isinstance方法补充 isinstance查看对象的类型 """isinstance检查对象的类型""" print(isinstance('name', str)) # True print(isinstance('name',int)) # False class 阅读全文
posted @ 2024-01-05 19:22 苏苏!! 阅读(4) 评论(0) 推荐(0) 编辑
摘要:(一)多态 (1)什么是多态 多态指的是一类事物有多种形态 比如动物 猪狗牛羊 (2)示例 比如动物有多种形态:猫、狗、猪 import abc # 同一类事物:动物 class Animal(metaclass=abc.ABCMeta): @abc.abstractmethod def talk( 阅读全文
posted @ 2024-01-05 19:21 苏苏!! 阅读(19) 评论(0) 推荐(0) 编辑
摘要:继承 (一)什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类。 子类会“”遗传”父类的属性,从而解决代码重用问题(去掉冗余的代码) python中类的继承分为:单继承和多继承 (二)单继承和多继承 """ 阅读全文
posted @ 2024-01-05 19:17 苏苏!! 阅读(24) 评论(0) 推荐(0) 编辑
摘要:(一)封装 (一)封装导读 """封装导读""" # 封装其实就是讲属性隐藏起来,不然外界发现和使用 # 接口:可以允许外界使用的内容通过接口开放,让用户通过接口使用 # 封装的原因是:保护隐私,将数据保护起来 # 隐藏属性的发给发是通过__变量名实现的 class Student(): __sch 阅读全文
posted @ 2024-01-05 19:11 苏苏!! 阅读(26) 评论(0) 推荐(0) 编辑
摘要:面向对象的三大特性 面向对象编程有三大特性: 封装、继承、多态 其中最重要的一个特性就是封装。 封装指的就是把数据与功能都整合到一起 听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。 除此之外,针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏 阅读全文
posted @ 2024-01-05 19:11 苏苏!! 阅读(14) 评论(0) 推荐(0) 编辑
摘要:面向对象 (一)什么是面向过程 (1)面向过程介绍 面向过程,核心在于 “过程” 二字 过程的终极奥义就是将程序 “流程化” 过程是 “流水线” ,用来分步骤解决问题的 过程指的是解决问题的步骤,即先干什么再干什么...... 面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。 (2 阅读全文
posted @ 2024-01-04 20:08 苏苏!! 阅读(22) 评论(0) 推荐(0) 编辑
摘要:内置函数 (一)什么是内置函数 内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。 截止到python版本3.6.2 ,一共提供了68个内置函数,具体如下 Built-in Functions Aabs()aiter()all()any()anext()ascii 阅读全文
posted @ 2024-01-04 20:07 苏苏!! 阅读(27) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示