摘要:
[TOC] MySQL mysql是什么: 数据库管理软件分类 下载安装 mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。 "mysql的安装、启动和基础配置 —— linux版本" (https://www.cnblogs.com/Eva J/art 阅读全文
摘要:
[TOC] 协程 协程:基于单线程来实现并发,即只用一个主线程(可以利用的cpu只有一个)情况下实现并发。并发:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更 阅读全文
摘要:
[TOC] GIL全局解释器锁 这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython,Pypy GIL 本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是讲并发运行变成串行,以此来控制同一 阅读全文
摘要:
线程 什么线程 线程的创建开销小 为何要用多线程 多线程指的是,在一个进程中开启多个线程,简单的讲:如果多个任务共用一块地址空间,那么必须在一个进程内开启多个线程。 开启线程的两种方式 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 线程的其他方法 守护线程 死锁现象与递归锁 进 阅读全文
摘要:
[TOC] 进程间的通信 我们知道进程之间数据是相互隔离的,要想实现进程间的通信(IPC机制),就必须借助于一些技术才可以。 multiprocessing模块中的:队列和管道,这两种方式都是可以实现进程间数据传输的。 队列 基于队列实现进程间通信 生产者消费者模型 在并发编程中使用生产者和消费者模 阅读全文
摘要:
[TOC] 进程互斥锁 总结: 加锁可以保证多个进程修改同一块数据时,同一时间只能有一个任务可以进行修改,即串行的修改,没错,速度是慢了,但牺牲了速度却保证了数据安全。 阅读全文
摘要:
[TOC] 创建进程的多种方式 multiprocess模块 multiprocess是python中一个操作、管理进程的包。 Process类介绍 Process类创建进程的两种方式 进程中的其他知识 进程间数据隔离 守护进程 会随着主进程的结束而结束 主进程创建守护进程 阅读全文
摘要:
进程 多道技术 空间上的复用: 将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。 时间上的复用: 当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的 统筹方法 。(操作系统采用 阅读全文
摘要:
[TOC] 网络编程 软件开发架构: 我们了解的设计到两个程序之间通讯的应用大致可以分为两类: 应用类:QQ,微信,优酷等这一类都属于安装在桌面的应用。 web:百度,知乎,博客园等使用浏览器访问就可以直接使用的应用。 这些应用的本质其实都是两个程序之间的通讯,对应了两个软件开发的架构: c/s架构 阅读全文
摘要:
[TOC] 面向对象进阶 ,`__init__` 负责对象的创建, 负责对象的初始化 中类的定义分为新式定义和老式定义两种。老式类定义时不继承 object 基类,而新式类在定义时显示继承 object 类。 注意:实例化对象是object类底层实现,其他类继承了object的 才能够实 阅读全文