自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 udp服务器

无连接的不可靠的服务用udp 1. 创建数据报套接字 2. 绑定本地IP和端口 3. 收发信息 recvfrom(BUFFERSIZE) 功能:在udp中接收消息 参数:buffersize表示一次最多可以接收到多少字节的消息 返回值:data接收到的消息,addr从哪个客户端接收到的消息 sendto(data,addr) 功能:向一个网络终端发送消息 参数:data要发送的...

2018-07-20 20:52:42 317

原创 tcp数据传输&粘包的产生和解决

recv会不断取出缓冲区中内容,如果一次没有拿完,那么下面继续收取没拿完的信息。 tcp粘包: 指的是发送方发送若干次数据的时候,因为是数据流的传输方式,导致数据粘连在一起,接收方一次将多次发送的数据一起接收,产生接收数据的粘连。 粘包是tcp传输特有的现象,因为tcp传输没有消息边界。 如果是发送连续的内容,比如文件等,则粘包没有影响,如果是每次发送为单独的内容。则需要处理粘包。粘包...

2018-07-18 21:02:30 837

原创 tcp服务端和客服端

tcp服务端1. 创建一个tcp流式套接字socket(family=AF_INET,type=SOCK_STREAM,proto=0)#括号内的参数是默认值可省略不写参数:family 协议族类型 type 套接字类型 proto=子协议选项 一般为0返回值: 套接字对象2. 绑定本机的IP和端口号sockfd.b...

2018-07-18 20:16:15 490 1

原创 套接字

套接字在网络间进行通信的方式和名称 在linux中演化为一种文件类型socket 套接字的分类 流式套接字:表示传输层使用tcp协议提供面向连接的传输服务 数据报套接字:表示传输层使用udp协议提供面向无连接的传输服务 原始套接字:一般用作底层协议测试(不常用)基于tcp协议的socket编程: import socket服务端流程: 1. 创建一个tcp流式套接字soc...

2018-07-12 14:12:46 244

原创 IP地址&子网掩码&tcp和udp协议

IPV4 点分十进制 192.168.1.5 三个点将IP分为四个部分每部分取值0-255 二进制 8*4 32位2进制表示IPV6 更多可用的IP 192.168.1.0 192.168.1.1 192.1681.255子网掩码: 与IP配合使用用来确定当前网段。 字节序: 小端序:低序字节存在低地址位 大端序:高序字节存在高地址位 网络统一:网络字节序,保证不...

2018-07-04 13:12:55 835

原创 python知识体系&学习大纲

ISO国际标准组织制作了网络体系结构标准:OSI模型7层框架,分层的目的是降低耦合度,每一层实现一定的功能。将这些模块按照一定的顺序进行组合,条理清晰。按照规定功能,顺序排列的体系结构:OSI模型。 层次结构:每一层都要求实现的功能:应用层:实现应用进程之间的信息交换。同时还有一系列的业务处理所需要的服务功能。像文件的传送,访问和管理,打印服务都是属于应用层。表示层:这一层的作用就是...

2018-07-03 20:02:15 1770

原创 pythonThread总结

进程和线程区别;会创建适用线程threading;掌握基本的线程间同步互斥编程方法;知道什么是GIL了解设计模式的概念面试注意: 1. 进程/线程区别 提问率高 2. 什么是同步和互斥 3. 给一个具体的情况,问采用进程还是线程,采用原因? 4. 处理僵尸进程的方法。 5. 如何测试一个硬盘的读写速度 6. Django框架 使用的是多进程 还是多线程并发 7....

2018-06-23 22:05:17 135

原创 进程效率测试

多线程的工作效率和单线程工作效率几乎相近; 多进程要比前两者有明显的提升;设计模式:经典的设计模式目前有23种; 设计模式代表了一种最佳实现,是被开发者长期开发总结用来解决某一类问题的思路方法,这些方法保证了代码的效率也易于理解。 23种设计模式: 单例模式/工厂模式/抽象工厂模式/模版方法模式/建造者模式/代理模式/原型模式/中介者模式/命令模式/责任链模式/装饰模式/策...

2018-06-23 21:57:30 281

原创 linux系统命令

在linux终端命令行输入:cd -#在最近的两个文件夹之间切换clear 或者 快捷键Crtl+l #清屏touch #创建文件,文件不存在直接创建,文件存在则更新这个文件的创建时间man #查看帮助--help #查看帮助绝对路径:如果一个路径是从/开始,它就是绝对路径/usr/share/doc #以决定路径方式进入该目录相对路径是以.或..开始的,....

2018-06-23 14:34:34 749

原创 线程间通信:使用全局变量

import threadingfrom time import sleeps=None #临界资源def bar(): print("呼叫foo") global s s='天王'def foo(): print('foo等口令') sleep(2) print('foo收到%s'%s)def fun(): #线程bar1被这个...

2018-06-23 01:14:16 1476

原创 线程

线程也可以使用计算机的多核资源,也是多任务编程方式之一线程又称轻量级的进程,在并发上喝进程相同但是在创建时消耗资源较少线程特点:一个进程可以包含多个线程,这多个线程共享进程的资源;多个线程因为共享进程的资源所以在通信上采用全局变量的方法;多进程和多线程的区别和联系: 1. 多进程和多线程都是多任务编程方式,都可以使用计算机多核; 2. 进程的创建要比线程消...

2018-06-23 00:21:41 122

原创 LOCK

进程间同步互斥方法:from multiprocessing import Locklock=Lock()# 创建进程锁对象lock.acquire() #给临界区上锁lock.release() #给临界区解锁具体实现上acquire()为一个条件阻塞函数,当有任意一个进程先进行了操作后,其他进程再企图进行acquire操作时就会阻塞,直到lock对象被release 后其...

2018-06-22 21:28:19 243

原创 同步和互斥

临界资源:对多个进程或者线程都可见的资源,容易造成争夺的资源,称之为临界资源。临界资源可能会造成程序执行的混乱。临界区:对临界资源进行操作的代码区域称之为临界区,指的是一段执行代码;解决资源争夺问题:同步或者互斥; 同步:同步是一种合作关系,为了完成某种任务而建立的多个进程或者线程之间的协调调用,次序等待,传递消息告知资源占用情况。 互斥:互斥是一种制约关系,当一个进程或者线程...

2018-06-22 20:28:16 104

原创 信号

发送信号:os.kill(pid,sig)作用:向一个进程发送一个信号 参数pid:要发送进程的PID号 参数sig:要发送的信号例子import osimport signalos.kill(777,signal.SIGKILL)#向777进程发送一个信号功能:给自己发送一个时钟信号signal.alarm(sec)参数sec:秒数,表示在相应的秒...

2018-06-22 19:44:45 149

原创 进程间的通信:共享内存

在内存中开辟一段内存空间存储数据,每次存储的内容都会覆盖上次的内容。由于没有对内存进行格式化的修饰所以存取速度块效率高。from multiprocessing import Value,Arrayfrom multiprocessing import Value,Processimport timeimport random #获取随机值def deposite(mone...

2018-06-21 20:31:44 137

原创 进程的通信:消息队列

multiprocessing —> Queue 在内存中开辟一个队列模型,用来存放消息,任何拥有队列对象的进程都可以进行消息的存放和取出。Queue()#创建一个消息队列对象参数:maxsize,默认为0,表示消息队列可以存放的消息由系统自动分配的空间而定 0 正整数,表示队列中最多存放多少条消息 返回值:消息队列对象向消息队列中存放一条消息,当消息队列满...

2018-06-21 19:16:57 168

原创 进程间的通信:管道

管道在内存中开辟一个管道空间,对多个进程可见,在通信形式上形成一种约束;multiprocessing —>PipePipe(duplex)功能:创建一个管道 参数:duplex 默认为True,表示管道为双向的;如果设置为False 则表示管道为单向管道 返回值:返回两个管道流对象,分别表示管道的两端, 如果参数为True,两个对象均可发送接收; 如果参数为Fals...

2018-06-21 16:20:03 133

原创 进程间的通信

不同的进程间进行数据的传输,比如支付宝授权登陆闲鱼账户。进程间的通信方法: 1. 文件进行进程间的通信,通过磁盘交互,速度慢。(过时方法)现代方法: 2. 管道方法进行交互; 3. 消息队列进行交互; 4. 共享内存进行交互; 5. 信号交互; 6. 套接字;...

2018-06-21 15:23:29 113

原创 自定义类

from multiprocessing import Processimport timeclass ClockPorcess(Process): def __init__(self,value): Process.__init__(self) self.value=value def run(self): n=5 ...

2018-06-21 00:25:44 213

原创 进程池技术

创建进程池,在池内放入合适数量的进程将时间加入进程池的等待队列使用进程池内的进程不断的执行等待事件所有事件处理结束后关闭回收进程池 import multiprocessing as mpfrom time import sleepimport osdef worker(msg): sleep(2) print(msg)#创建进程池对象,进程...

2018-06-20 23:49:19 140

原创 多进程的优点和缺点

优点: 可以并行的执行多个任务,提高运行效率,(可利用计算机多核),空间独立,数据安全,创建方便缺点: 进程的创建和销毁过程需要消耗较多的计算机资源, 在需要频繁创建和删除较多进程的情况下,资源消耗过多,不适宜使用多进程完成任务; 不过进程池技术可以解决频繁创建和删除多进程。 进程池技术: ...

2018-06-20 22:02:45 5814

原创 Process类

创建子进程Process()类参数: target 指定要绑定的函数name #给创建的进程起一个名字args #给target 指定的函数传参,按位置传参,需要给args传入元组kwargs #需要给一个字典,给target指定的函数按键值传参#进程函数的使用from multiprocessing import Processfrom time i...

2018-06-20 21:46:37 1630

原创 用multiprocessing创建进程

更方便高效的进程创建方法: multiprocessing 模块(标准库模块) 步骤: 1. 将要完成的事件封装成一个个的函数; 2. 使用multiprocessing提供的接口函数创建进程; 3. 使新的进程和指定的函数相关联去完成函数中的工作; 4. 对进程进行回收处理。 函数当付给Process 的target变量后函数内容就对应进程的进程内容,此时函数才有特殊性 多个子进...

2018-06-20 19:23:46 149

原创 python 优先级和常用命令

进程的优先级决定了执行权限和占有系统资源的优先程度优先级越高,需要的权限越高,同时占有的系统资源就越高;查看优先级的命令:top #在终端输入命令,该命令是动态监测系统优先级,按q退出,<> 进行翻页查找linux系统中优先级范围:-20~19; 其中-20优先级最高。 用户创建进程默认的优先级为0nice #以指定的优先级运行某个进程r...

2018-06-20 14:18:05 1280

原创 python 优先级和常用命令

进程的优先级决定了执行权限和占有系统资源的优先程度优先级越高,需要的权限越高,同时占有的系统资源就越高;查看优先级的命令:top #在终端输入命令,该命令是动态监测系统优先级,按q退出,<> 进行翻页查找linux系统中优先级范围:-20~19; 其中-20优先级最高。 用户创建进程默认的优先级为0nice #以指定的优先级运行某个进程r...

2018-06-19 21:03:16 1247

原创 pygame 事件集命令

事件 产生途径 参数 QUIT 用户按下关闭按钮 none ATIVEEVENT Pygame被激活或者隐藏 gain, state KEYDOWN 键盘被按下 unicode, key, mod KEYUP 键盘被放开 key, mod MOUSEMOTION 鼠标移动 pos, rel, buttons MOUSEBUTTONDOWN 鼠...

2018-06-17 22:18:28 1293

原创 pygame 模块

模块名 功能 pygame.cdrom 访问光驱 pygame.cursors 加载光标 pygame.display 访问显示设备 pygame.draw 绘制形状、线和点 pygame.event 管理事件 pygame.font 使用字体 pygame.image 加载和存储图片 pygame.joystick 使用游戏手...

2018-06-17 19:48:51 516

原创 进程&进程状态

进程可进行多任务编程,多任务编程可以有效利用计算机资源,同时执行多个任务。 进程定义:就是程序在计算机中一次执行的过程; 程序定义:程序是一个静态文件的描述。进程和程序的区别: 程序是一个静态文件的描述,不占计算机的系统资源; 进程是一个动态的过程,占有cpu内存等资源,有一定的生命期。同一个程序的不同执行过程即为不同的进程;问题1: 什么决定了进程的创建? 用户通过应用层程...

2018-06-17 01:52:13 131

原创 MySQL与python交互

pymysql 的使用流程: 1. 建立数据库连接对象名(一般用db)=pymysql.connect("主机地址","用户名","密码","库名",charset=utf8)创建游标对象: connect对象(db)的方法:cursor()#创建一个游标对象db.cursor()commit()#提交到数据库rollback()#回滚使用游标对象...

2018-06-16 01:44:36 244

原创 MySQL与python的交互

python 数据库接口:python DB-API 定义:为开发人员提供的数据库应用编程接口 支持的数据库服务软件: MySQL Oracle SQL_Server Sybase Mogodb python提供的操作MySQL的模块:模块名 pymysqlpymysql的使用流程: 1. 建立数据库连接 2. 创建游标对象 3. 使用游标对象的方法和SQL语句操控...

2018-06-15 23:01:12 229

原创 MySQL事务

事务定义:一件事从开始发生到结束的整个过程 事务属性:原子性是一个事务不可分割的工作单位,事务中的各个操作要么都进行,要么都不进行。一致性是事务必须从一个一致性状态到另一个一致性状态;隔离性是一个事务的执行不能被其他并发事务干扰;持久性,一个事务一旦提交,它对数据库的改变是永久性的。默认的是commit自动提交到数据库,查看命令是如下:show variables like "autoc...

2018-06-15 20:01:37 166

原创 Workbench 图形化界面可操作MySQL数据库

基于Workbench的仿真环境有三点与传统仿真环境有所不同: ·客户化:Workbench像PDM那样,利用与仿真相关的API,根据用户的产品研发流程特点开发实施形成仿真环境,而且用户自主开发的API与ANSYS 已有的API平等。这一特点也称为“实施性”; ·集成性:Workbench把求解器看作一个组件,不论由哪个CAE公司提供的求解器都是平等的,在Workbench中经过简单开发都可直...

2018-06-15 19:14:21 2952

原创 ER模型

定义:ER模型即实体-关系模型,ER图即实体-关系图。提供不受任何DBMS约束的面向用户的表达方法, 在数据库设计中被广泛用作数据建模的工具。E-R模型的构成成分是实体集、属性和联系集 其表示方法如下: (1) 实体集用矩形框表示,矩形框内写上实体名。 (2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。 (3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字...

2018-06-15 18:44:13 4242

原创 MySQL总结

索引:普通索引 index唯一索引 unique主键索引&自增长: PRI不允许重复且不能为NULL,注意一个表中只能有一个主键字段,通常把编号设为主键字段; 创建表时创建主键:primary key(字段名)已有表时创建主键alter table 表名 add primary key(字段名);删除主键alter table 表名 modify...

2018-06-14 20:27:03 124

原创 MySQL的嵌套查询,多表查询,链接查询

定义:把内层的查询结果作为外层查询的条件 语法:select 查询语句 where 条件(select查询语句);多表查询方式:select

2018-06-14 18:58:37 721

原创 MysQL表的复制

只复制表结构 语法格式:create table 表名 select*where false;例如:create table new_userinfo select *from userinfo where false; 注意:复制表的时候不会把原有键的属性复制过来。...

2018-06-14 17:42:24 233

原创 MySQL数据导入和导出

数据导入作用:将文件系统的内容导入到数据中load data infile "文件名"into table 表名fields terminated by "分隔符"lines terminated by "分隔符"步骤:在数据库中创建对应的表查看数据的默认搜索路径show variables like "secure_file_priv";secure-...

2018-06-14 16:40:16 132

原创 SQL的约束和索引

约束:作用是为了保证数据的完整性,一致性,有效性. 约束分类: 1.默认约束default 2.非空约束not null索引:定义:对数据库中表的一列或者多列的值进行排序的一种结构(MySQL中的Btree方式) 优点:加快数据的检索速度 缺点:当对表中的数据进行增加,删除和修改的生活,索引也到动态维护,降低了数据的维护速度。索引需要占用物理空间普...

2018-06-14 00:56:01 1177

原创 SQL查询

SQL查询: 1. 对查询结果进行排序asc和desc ----------select ...... order by 字段名 ASC 生序(默认)例如:select *from 表名where条件order by 记录名 asc;----------select ...... order by 字段名 DESC 降序例如:selec...

2018-06-13 20:06:32 141

原创 MySQL查询

总结:执行顺序 select…聚合函数from… where… group by … having … order by… limit …;order by 1.1 作用:对查询的结果进行排序 1.2 语法格式:order by 字段名 排序方式; 1.3 排序方式 1.3.1 ASC(默认):生序 1.3.2 DESC: 降序...

2018-06-12 18:27:45 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除