2020年6月16日
摘要: SQL ( Structure query language ) 结构化查询语言 SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制) 1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER 2、DCL语句 数据库 阅读全文
posted @ 2020-06-16 20:12 fdsimin 阅读(184) 评论(0) 推荐(0) 编辑
  2020年6月14日
摘要: 1. 专门用来解决死锁现象,临时用于快速解决项目因死锁问题不能正常运行的场景,处理异常死锁。在程序中尽量使用一把锁,不要相互嵌套,嵌套容易产生死锁。 from threading import Thread,RLock lock = RLock() def eat1(name): lock.acqu 阅读全文
posted @ 2020-06-14 22:18 fdsimin 阅读(152) 评论(0) 推荐(0) 编辑
  2020年6月11日
摘要: 1.线程: 是cpu执行程序的最小单元,一份进程中可以包含多个线程,开辟线程时无需重新分配资源,子线程跟主线程共享资源。 from multiprocessing import Process from threading import Thread import time # 进程并发 def f 阅读全文
posted @ 2020-06-11 16:22 fdsimin 阅读(118) 评论(0) 推荐(0) 编辑
  2020年6月10日
摘要: 1. 锁: 同一时间允许一个进程上一把锁 就是Lock 加锁可以保证多个进程修改同一块数据时,同一时间只能有一个任务可以进行修改,即串行的修改,速度会变得稍慢,但牺牲速度却保证了数据安全。 互斥锁Lock : 互斥锁就是进程的互相排斥,谁先抢到资源,谁就上锁改资源内容,为了保证数据的同步性 注意:两 阅读全文
posted @ 2020-06-10 21:22 fdsimin 阅读(147) 评论(0) 推荐(0) 编辑
  2020年6月9日
摘要: 1. 进程: 就是正在运行的程序,它是操作系统中,资源分配的最小单位. 资源分配:分配的是cpu和内存等物理资源 进程号是进程的唯一标识 同一个程序执行两次之后是两个进程, 进程和进程之间是数据彼此隔离,通过socket通信 并发是一个cpu同一时间不停执行多个程序, 并行是多个cpu同一时间不停执 阅读全文
posted @ 2020-06-09 19:51 fdsimin 阅读(151) 评论(0) 推荐(0) 编辑
  2020年6月8日
摘要: 1. socketserver: 网络协议的最底层就是socket,基于原有socket模块,又封装了一层,就是socketserver, socketserver 为了实现tcp协议,server端的并发. # 服务端 # 用socketserver解决TCP的并发问题 import socket 阅读全文
posted @ 2020-06-08 18:11 fdsimin 阅读(184) 评论(0) 推荐(0) 编辑
  2020年6月5日
摘要: socket : 通络通信过程中,信息拼接的工具(中文:套接字)开发中,一个端口只对一个程序生效,在测试时,允许端口重复捆绑 (开发时删掉), 在bind方法之前加上这句话,可以让一个端口重复使用: sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADD 阅读全文
posted @ 2020-06-05 20:20 fdsimin 阅读(307) 评论(0) 推荐(0) 编辑
  2020年6月4日
摘要: 一 . 网络开发的两大架构: (1) c/s(client server):客户端,指具体的软件 (2) b/s(brower server):浏览器端,通过输入网址,访问对方的服务器,对方的服务器响应请求之后,把对应的数据返回出来 对比: 未来更多的是b/s架构,免去下载的过程,节省了硬盘空间,更 阅读全文
posted @ 2020-06-04 20:19 fdsimin 阅读(120) 评论(0) 推荐(0) 编辑
  2020年6月3日
摘要: 1. 认识异常处理: 语法分为两种错误,语法错误和异常错误.语法错误是没有按照规定语法写代码,异常错误是在代码语法正确的情况下发生报错. # (1) IndexError: 索引超出序列的范围 lst = [1,2,3] print(lst[5]) # IndexError: list index 阅读全文
posted @ 2020-06-03 17:10 fdsimin 阅读(149) 评论(0) 推荐(0) 编辑
  2020年6月1日
摘要: 装饰器: 在不改变原有代码的基础上,实现功能的扩充.用原函数扩展新功能,用新功能去代替旧功能,用@表示情况一: 基本用法(闭包函数),通过闭包函数来扩展新功能 def kuozhan(tree): def new_tree(): print("旁边有小草") tree() print("旁边有小花" 阅读全文
posted @ 2020-06-01 19:51 fdsimin 阅读(124) 评论(0) 推荐(0) 编辑