01 2024 档案

摘要:Event事件 事件处理的方法: event.is_set():返回event的状态值; event.wait():如果 event.isSet()==False将阻塞线程; event.set(): 设置event的状态值为True,所有阻塞池的线程激活进入就绪状态, 等待操作系统调度; even 阅读全文
posted @ 2024-01-21 21:58 Xiao0101 阅读(19) 评论(0) 推荐(0) 编辑
摘要:信号量Semaphore Semaphore管理一个内置的计数器, 每当调用acquire()时内置计数器-1; 调用release() 时内置计数器+1; 计数器不能小于0;当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。 代码示例: import random i 阅读全文
posted @ 2024-01-21 21:58 Xiao0101 阅读(13) 评论(0) 推荐(0) 编辑
摘要:死锁 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 代码解释: import time from threading imp 阅读全文
posted @ 2024-01-21 21:58 Xiao0101 阅读(17) 评论(0) 推荐(0) 编辑
摘要:引言 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同样一段代 阅读全文
posted @ 2024-01-21 21:57 Xiao0101 阅读(16) 评论(0) 推荐(0) 编辑
摘要:工作原理是将并行变成局部串行,牺牲了效率,保证了数据的安全。 未加锁: import time from threading import Thread n = 100 def task(): global n # mutex.acquire() temp = n time.sleep(0.1) n 阅读全文
posted @ 2024-01-21 21:56 Xiao0101 阅读(6) 评论(0) 推荐(0) 编辑
摘要:无论是进程还是线程,都遵循:守护xxx会等待主xxx运行完毕后被销毁 需要强调的是:运行完毕并非终止运行 #1.对主进程来说,运行完毕指的是主进程代码运行完毕 #2.对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕 #1 主进程在其代码结束后就已经算运行完 阅读全文
posted @ 2024-01-21 21:55 Xiao0101 阅读(17) 评论(0) 推荐(0) 编辑
摘要:多线程简单介绍 多线程,或者说多任务,指的是操作系统同时运行多个任务。例如,听歌、洗衣服、看视频可以同时进行,这种就是多任务。 单核CPU执行多任务:操作系统轮流让各个任务交替执行,任务1执行t1时间,切换到任务2,任务2执行t2时间,再切换到任务3,执行t3时间...如此反复执行,表面上看,每个任 阅读全文
posted @ 2024-01-21 21:55 Xiao0101 阅读(24) 评论(0) 推荐(0) 编辑
摘要:什么叫线程 线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 线程自己不用有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个一个进程的其他线程共享其所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发 阅读全文
posted @ 2024-01-21 21:55 Xiao0101 阅读(66) 评论(0) 推荐(0) 编辑
摘要:什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和 阅读全文
posted @ 2024-01-21 21:53 Xiao0101 阅读(24) 评论(0) 推荐(0) 编辑
摘要:引言 什么是进程间通信 进程间通信(Inter-Process Communication, IPC)是指两个或多个进程之间进行信息交换的过程。它是一种计算机编程技术,用于在不同进程之间共享数据和资源。 如何实现进程间通信 借助于消息队列,进程可以将消息放入队列中,然后由另一个进程从队列中取出。这种 阅读全文
posted @ 2024-01-21 21:52 Xiao0101 阅读(41) 评论(0) 推荐(0) 编辑
摘要:什么是进程同步(互斥锁) 互斥锁(Mutex)是一种用于多线程编程中控制对共享资源访问的机制。 其作用是保证在同一时刻只有一个线程在访问共享资源,从而避免多个线程同时读写数据造成的问题。 互斥锁的基本原理是在对共享资源进行访问前加锁,使得其他线程无法访问该资源,当访问完成后再解锁,使得其他线程可以进 阅读全文
posted @ 2024-01-21 21:51 Xiao0101 阅读(12) 评论(0) 推荐(0) 编辑
摘要:僵尸进程(有害) 什么是僵尸进程 僵尸进程是指一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 通俗来说,僵尸进程是指完成了自己的任务,但父进程没有正确地释放它所占用的系统 阅读全文
posted @ 2024-01-21 21:51 Xiao0101 阅读(57) 评论(0) 推荐(0) 编辑
摘要:引言 Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象。这个进程对象的方法和线程对象的方法差不多也有start(), run(), join()等方法 阅读全文
posted @ 2024-01-21 21:50 Xiao0101 阅读(21) 评论(0) 推荐(0) 编辑
摘要:引言 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是 阅读全文
posted @ 2024-01-21 21:49 Xiao0101 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一、引言 顾名思义,进程就是正在执行的一个过程。进程是对正在运行程序的一个抽象说法。所谓进程,起源于操作系统最核心的概念,操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统。 二 、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键 阅读全文
posted @ 2024-01-21 21:45 Xiao0101 阅读(25) 评论(0) 推荐(0) 编辑
摘要:粘包问题 只有TCP有粘包现象,UDP永远不会粘包 什么是粘包 存在于客户端接收数据时,不能一次性收取全部缓冲区中的数据.当下一次再有数据来时,缓冲区中剩余的数据会和新的数据'粘连'在一起.这就是粘包现象。 ## 什么是粘包? 存在于TCP/IP协议中数据粘连在一起。 ## socket中造成粘包现 阅读全文
posted @ 2024-01-16 21:01 Xiao0101 阅读(32) 评论(0) 推荐(0) 编辑
摘要:基于UDP的套接字 udp是无链接的,先启动哪一端都不会报错 【1】方法简介 (1)UDP服务端 server = socket() #创建一个服务器的套接字 server.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 conn = server.recvfrom()/co 阅读全文
posted @ 2024-01-16 21:00 Xiao0101 阅读(15) 评论(0) 推荐(0) 编辑
摘要:基于TCP的套接字 【1】方法简介 tcp是基于链接的 必须先启动服务端 然后再启动客户端去链接服务端 tcp服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字 server.listen() #监听链接 inf_loop: #服务器无限 阅读全文
posted @ 2024-01-16 21:00 Xiao0101 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Socket介绍 假设我们需要编写一个C/S架构的程序,实现数据交互,就需要使用到OSI七层协议,由于它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们对 OSI 进行了简化,合并了一些层,最终只保留了 4 层,从下到上分别是接口层、网络层、传输层和应用层,这就是 TCP/IP 阅读全文
posted @ 2024-01-16 20:59 Xiao0101 阅读(55) 评论(0) 推荐(0) 编辑
摘要:引言 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就成功了。 面试官:然后呢? 求职者:这就是三次握手的过程,很简单 阅读全文
posted @ 2024-01-16 20:58 Xiao0101 阅读(24) 评论(0) 推荐(0) 编辑
摘要:网络编程 网络编程的概念 1. 地球村 随着广播、电视、互联网的出现,随着各种现代交通方式的飞速发展,人与人之间的时空距离骤然缩短,整个世界紧缩成一个“村落”。 地球村也译为世界村(global village),对地球的一种比喻说法。现代科技的迅速发展,缩小了地球上的时空距离,国际交往日益频繁便利 阅读全文
posted @ 2024-01-16 20:57 Xiao0101 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一、网络结构模型 C/S和B/S都是互联网中常见的网络结构模型。 引言 刚开始的时候用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。 1.1 什么是C/S模型 阅读全文
posted @ 2024-01-16 20:53 Xiao0101 阅读(49) 评论(0) 推荐(0) 编辑
摘要:单例模式 ​ 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 ​ 比如,某个程序的配置信息存放在一个文件中,客户端通过一个Appconfig 的类来读取配置 阅读全文
posted @ 2024-01-14 18:55 Xiao0101 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一 、元类介绍 什么是元类呢?一切源自于一句话:python中一切皆为对象。让我们先定义一个类,然后逐步分析 class StanfordTeacher(object): school='Stanford' def __init__(self,name,age): self.name=name se 阅读全文
posted @ 2024-01-14 18:54 Xiao0101 阅读(8) 评论(0) 推荐(0) 编辑
摘要:【引入】 Python的Class机制内置了很多特殊的方法来帮助使用者高度定制自己的类 这些内置方法都是以双下划线开头和结尾的,会在满足某种条件时自动触发 __init__ :初始化类时触发 __del__ :删除类时触发 __new__ :构造类时触发 __str__ :str函数或者print函 阅读全文
posted @ 2024-01-14 18:28 Xiao0101 阅读(11) 评论(0) 推荐(0) 编辑
摘要:众所周知,每一个实例化对象都是有实例化属性或者方法的,之前我们对实例化对象进行属性方法查询、删除或者添加都是直接去通过对象名.属性 去操作的,所以今天我来讲其他方法去操作实例化对象的属性方法,看正文: 什么是反射 反射指的是在程序运行过程中可以“动态(不见棺材不落泪)”的获取对象的信息(属性), 在 阅读全文
posted @ 2024-01-06 19:59 Xiao0101 阅读(15) 评论(0) 推荐(0) 编辑
摘要:绑定方法与非绑定方法 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定到了类。 绑定方法 绑定方法:绑定给某个目标(类或对象)的方法 动态方法 【1】绑定给对象的方法(默认) class MyClass: # 类的属性有两种:一种是数据属性 一种 阅读全文
posted @ 2024-01-06 16:15 Xiao0101 阅读(21) 评论(0) 推荐(0) 编辑
摘要:多态与多态性 什么是多态 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪、牛、羊等 class Animal: #同一类事物:动物 def talk(self): pass class Tiger(Animal): #动物的形态之一:老虎 def talk(self): print(' 阅读全文
posted @ 2024-01-06 12:24 Xiao0101 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、 什么是python的抽象类 Python中的抽象类是具有以下特征的class: 它不是用来初始化/实例化的。 相反,它是用于充当其它类的父类。 它必须继承基抽象类 abc.ABC。 它必须包含至少一个抽象方法。 Python中的抽象类,类似于C++中的纯虚类。或者Java中的interface 阅读全文
posted @ 2024-01-06 11:04 Xiao0101 阅读(27) 评论(0) 推荐(0) 编辑
摘要:继承 一 、继承介绍 1.1 什么是继承和多继承 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类 class ParentClass1: #定义父类 pass class ParentClass2: #定义父类 pass 阅读全文
posted @ 2024-01-05 21:37 Xiao0101 阅读(26) 评论(0) 推荐(0) 编辑
摘要:引入:编程范式/思想 什么是面向过程 介绍: ​ 核心是“过程”二字,过程就是“流水线”;过程终极奥义是将程序 流程化 优点: ​ 将程序流程化,进而程序的设计会变得简单化 缺点: ​ 可扩展性差 什么是面向对象 介绍: ​ 核心是“对象”二字,对象就是“容器”,用来盛放数据与功能;对象终极奥义是将 阅读全文
posted @ 2024-01-03 19:43 Xiao0101 阅读(54) 评论(0) 推荐(0) 编辑

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