摘要:
数据库 定义: 存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按照一定的格式存放的 优势: 1.程序稳定性. 任意一台服务所在的机器崩溃了都不会影响数据和另外的服务; 2.数据一致性. 所有的数据都存储在一起,所有程序操作的数据都是统一的,不会出现数据不一致的现象; 3.并发.数据库 阅读全文
摘要:
线程中的多个任务,其中的每一个任务都可以成为一个协程,每一个协程都可以在一条线程中任意的切换 原理: 多个线程处理多个任务就相当于把所有任务中的空隙都填满的一个单线程 优势: 1.不必做线程之间的切换了 2.能够让一个线程看起来尽量忙碌,骗过操作系统,让程序不进入阻塞队列 3.线程是操作系统中能被C 阅读全文
摘要:
相关概念 线程:是轻量级(轻型)进程,比进程开销小得多 进程和线程的关系: 线程是进程的一部分,线程必须依赖于进程存在 一个进程之内至少有一条线程,默认存在的线程叫做主线程,也可以在一个进程中开启多个子线程来完成更多的任务 进程是计算机中最小的资源分配单位 线程是计算机中能被CPU调度的最小单位,是 阅读全文
摘要:
数据共享 Manager 内部管理了很多数据类型,并不是所有的数据类型都是用来做数据分享,只是顺便包含了能够处理数据共享问题的数据类型 list dict 列表/字典 自带的方法基本都是数据安全的,但是对其中的元素进行+= -= *= /= 都是数据不安全的 数据共享:速度很慢,牵扯到锁的问题,一般 阅读全文
摘要:
进程锁 进程中的数据安全问题:当多个进程同时去访问同一段数据的时候,就容易产生数据的不安全 给代码上锁,实际上是对这一段代码有一个串行的要求,所有的异步在锁内都变成了同步的,同时大大降低了代码的效率 但是在数据安全面前,所有的效率问题都不重要 进程通信 IPC 队列 自带进程锁 特点:先进先出 进程 阅读全文
摘要:
进程号是进程的唯一标识 查看方式: 1.在终端查看 tasklist 2.在本文件查看 查看子进程 : os.getpid() 查看父进程 : os.geippid() tasklist| findstr python 在终端输入,只查看python解释器中的进程 创建进程的两种方式 1.常用 2. 阅读全文
摘要:
程序: 应用软件,一堆代码文件 进程: 一个正在执行的程序/文件,抽象的概念 启动一个进程过程: 程序存在硬盘,磁盘中,双击(触发操作系统),操作系统将程序加载到内存,交给cpu来处理 来一个任务,先给操作系统,然后操作系统给cpu,cpu做这个任务才是一个进程 进程源于操作系统 操作系统 定义:操 阅读全文
摘要:
recv原理 1.验证服务端缓冲区数据没有取完,又执行了recv执行,recv会继续取值。 2.验证服务端缓冲区取完了,又执行了recv执行,此时客户端20秒内不关闭的前提下,recv处于阻塞状态 3. 服务端缓冲区的数据取完之后,又执行了recv执行,此时客户端处于关闭状态,则recv会取到空字符 阅读全文
摘要:
send和recv 一个send可以对应多个recv 一个recv可以对应多个send 总结: 1.send和recv不是必须要一一对应的 2.只要通道不关闭的状态下,而且客户端不给服务端发数据,服务端就会一直处于recv状态 粘包问题解决 low版 缺点: 1.数据如果过大,struct就会报错 阅读全文
摘要:
远程执行命令 远程执行命令 : 在客户端输入一个命令,通过网络传输给服务器,服务器后端运行此命令得到结果,将结果通过网络传输返回给客户端 粘包现象 粘包现象1: 客户端发送一段数据,recv时只收了一小部分,客户端下次再接收的时候还是从缓冲区拿上次遗留的数据,产生粘包 客户端 send()命令 > 阅读全文