socketserver模块实现并发 为什么要讲socketserver?我们之前写的tcp协议的socket是不是一次只能和一个客户端通信,如果用socketserver可以实现和多个客户端通信。它是在socket的基础上进行了一层封装,也就是说底层还是调用的socket,在py2.7里面叫做So Read More
posted @ 2019-08-29 21:21
__张达达
Views(193)
Comments(0)
Diggs(0)
线程队列、Event事件、协程 1. 线程队列 先进先出示例: 先进后出(Lifo堆栈)示例: 优先级队列示例 python import queue q=queue.PriorityQueue() put进入一个元组,元组的第一个元素是优先级(通常是数字,也可以是非数字之间的比较),数字越小优先级 Read More
posted @ 2019-08-29 21:19
__张达达
Views(186)
Comments(0)
Diggs(0)
同步和异步两种执行方式 1. 进行运行的三种状态:运行、就绪、阻塞 2. 阻塞、非阻塞、同步、异步 阻塞(程序运行的角度):程序运行时,遇到IO,程序挂起,cpu被切走 非阻塞(程序运行的角度):程序没有遇到IO;程序遇到IO但我通过某种手段,让cpu强行运行我的程序 同步(提交任务的角度):提交一 Read More
posted @ 2019-08-29 21:16
__张达达
Views(980)
Comments(0)
Diggs(0)
线程池与进程池 1. 进程池概念: 2. multiprocess.Poll模块: 创建进程池的类:如果指定numprocess为3,则进程池会从无到有创建三个进程,然后自始至终使用这三个进程去执行所有任务(高级一些的进程池可以根据你的并发量,搞成动态增加或减少进程池中的进程数量的操作),不会开启其 Read More
posted @ 2019-08-29 21:14
__张达达
Views(134)
Comments(0)
Diggs(0)
并发编程之多线程2 死锁与递归锁,信号量等 1. 死锁现象与递归锁 进程也是有死锁的: 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程, Read More
posted @ 2019-08-29 20:51
__张达达
Views(102)
Comments(0)
Diggs(0)
并发编程之多线程 1. 多线程的概念介绍 threading模块介绍:threading模块和multiprocessing模式在使用层面,有甚大的相似性 2. 开启多线程的两种方式 1. 开启进程的第一种方式: 2. 开启进程的第二种方式(用类): 3. 在一个进程开启多个线程与在一个进程下开始多 Read More
posted @ 2019-08-29 20:48
__张达达
Views(149)
Comments(0)
Diggs(0)
生产者和消费者模型: 1. 生产者和消费者模型: 2. 为什么要使用生产者和消费者模式 3. 什么是生产者消费者模式 4. 基于队列实现生产者消费者模型 Read More
posted @ 2019-08-29 20:46
__张达达
Views(154)
Comments(0)
Diggs(0)
并发编程之多线程(相关理论) 1. 什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以, 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进 Read More
posted @ 2019-08-29 20:46
__张达达
Views(114)
Comments(0)
Diggs(0)
进程 1. multiprocessing 模块介绍 1. python中的多线程无法利用CPU资源,在python中大部分情况使用多进程。python中提供了非常好的多进程包 multiprocessing。 2. multiprocessing 模块用来开启子进程,并在子进程中执行功能(函数), Read More
posted @ 2019-08-29 20:41
__张达达
Views(120)
Comments(0)
Diggs(0)
进程和操作系统概述 1. 进程的基础 程序和进程: 程序是一堆静态的代码文件 进程是一个正在运行着的程序,抽象概念 进程由操作系统操控调用交给CPU运行 2. 操作系统 管理控制协调计算机硬件和软件的关系 操作系统的作用: 将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口. open函数. 多个 Read More
posted @ 2019-08-29 20:38
__张达达
Views(130)
Comments(0)
Diggs(0)
recv原理、高阶版黏包解决方案、基于UDP的socket通信 1. recv原理: 2. 高阶版粘包解决方案: server端: client端: python import socket import struct import json phone = socket.socket() phon Read More
posted @ 2019-08-29 20:26
__张达达
Views(400)
Comments(0)
Diggs(0)
socket补充:TCP通信循环和粘包现象 1. 基于TCP协议的socket的通信 基于TCP协议的socket的简单通信 基于TCP协议socket的循环通信: 基于TCP协议链接循环通信 基于TCP协议的socket远程操控 2. 什么叫粘包现象?为什么会出现 粘包现象 1. socket收发 Read More
posted @ 2019-08-29 20:24
__张达达
Views(172)
Comments(0)
Diggs(0)
socket套接字 1. 为何学习socket一定要先学习互联网协议? 首先C/S架构是基于网络通信的 然后网络的核心即一堆网络协议,也就是协议标准。如果你想开发一款基于网络通信的软件,就必须遵循这些标准 2. socket层:socket处于应用层与传输层之间,提供了一些简单的接口. 避免与操作系 Read More
posted @ 2019-08-29 20:20
__张达达
Views(157)
Comments(0)
Diggs(0)
MySQL root用户密码设置 1. 方法1: 用SET PASSWORD命令 2. 方法2:用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码) 3. 方法3:用UPDATE直接 Read More
posted @ 2019-08-29 20:16
__张达达
Views(21432)
Comments(0)
Diggs(0)
MySQL忘记密码的解决方法 1. 注意:root密码最好不要忘记,找地方记录下来,不然如果是工作中你们使用的数据库(不管是测试的还是线上的,都是比较麻烦的事情,数据库轻易不会让你重启的,不过作为一个开发来讲,你应该是无法用root用户的~~~) 2. 以 windows 为例: 1. 关闭正在运行 Read More
posted @ 2019-08-29 20:11
__张达达
Views(378)
Comments(0)
Diggs(0)
第一种下载方法: 1. 打开MySQL官网:https://dev.mysql.com/downloads 2. 然后按照下面的方式选择: 3. 点击下载: 4. 如果你下载的是mysql的安装程序,也就是文件扩张名为.msi结尾的,那么你安装的时候就按照下面这种图文教程的方式安装: 1. 2. 3 Read More
posted @ 2019-08-29 15:49
__张达达
Views(216)
Comments(0)
Diggs(0)

浙公网安备 33010602011771号