4yue 22
Posted doner
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4yue 22相关的知识,希望对你有一定的参考价值。
1
# 1 . 进程 线程 协程 之间的相同点和不同点 #相同点:都能帮助我们实现并发操作,规避IO时间,提高执行效率 #进程:内存隔离 操作系统级别 可以利用多核(高计算) 计算机中资源分配的最小单位 #线程:内存共享 操作系统级别 开销中 Cpython解释器下不能利用多核(规避IO) 计算机CPU调度的最小单位 #协程:内存共享 用户级别 开销小 不能利用多核(协程的本质是个单线程)(规避IO) ‘‘‘ 操作系统级别:全世界的人都存储在大计算机上,他都知道哪个好那个坏 用户级别: 自己去判断哪个好哪个坏 switch 是手动添加的 gevent 里为什么没有? 因为他在底层添加了(可能是if) ‘‘‘ # 为什么不能删GIL锁 #垃圾回收机制 所以 cpython # 2 .进程内存之间是否共享,如何实现通信? #不共享 通过python模块第三方工具 # 本质上: # 基于文件 : #队列 管道 manager # 基于网络 #第三方工具(redis kafka memcha) socket # 3在python 中是否线程安全 #不安全 #python 你写的python代码未来都会转换成机器码,机器码执行的过程中 #如果有一个非原子性操作,那么就会导致线程数据不安全 #需要手动加锁来解决问题 # 4 协程的本质是什么 #多个任务在一个线程上能够实现切换 (与IO无关利用协程实现的一个效果) #5 线程池开启任务 如何提交任务 获取返回值 ‘‘‘ from concurrent.futures import ThreadPoolExecutor #这个模块开启线程池 def func(arg): return arg*20 tp = ThreadPoolExecutor(5) ret_l = [] for i in range(100): ret = tp.submit(func,i) #这个是一个对象 ret_l.append(ret) for r in ret_l : print(r.result()) #打印 ‘‘‘ #二 ‘‘‘ from concurrent.futures import ThreadPoolExecutor #这个模块开启线程池 def func(arg): return arg*20 tp = ThreadPoolExecutor(5) ret = tp.map(func,range(100)) for r in ret : print(r) # 没有返回值 直接打印 ‘‘‘ #协程复习: #数据是否安全 : 绝对安全 # 用户级别的 只能在代码上做 没法 swithch a+=1 swithch 没有把a+=1 分开 a = 1 def func1(): global a a+= 1 def func2(): global a a+=1 import dis dis.dis(func1) dis.dis(func2) #和线程的关系 #本质上是一条线程 # gevent 模块 #g1 = spawn(协程函数,参数) #g1.join #主程序里不遇到阻塞,不切到子程序里(一个协程) start没有用不执行 # gevent.joinall(iterable([g1])) #monkey.patch_all() # greenlet switch # 并没有减少IO操作 ‘‘‘ def fun1(): start sleep # 其实是自己实现了一个sleep,而没有用time的 end def fun2(): begin sleep1 finish ‘‘‘ # socket 底层就是用thread实现的 # 举一反三 做了一个 想象把他换成别的情境 # 问题 # 协程用的好 比线程的效率要好的多 # 协程的底层 IO切换 是 time # 先把懂了的整理出来 再弄不懂得
2
#day 1 数据库的介绍安装 命令 #day 2 数据库的表操作 #day 3 数据库的数据操作,查询(单表多表) 一天 ftp这几天 要做完 #day 4 查询和其它内容的拾遗 # day 5 索引原理 # 数据库在开发的过程中占据着什么样的位置? #在整个项目中又有什么意义? # 我们把数据存储在文件里 (把数据永远存下来) #写 write #读 read # 改 读-》写->删->改-》 # 数据库:(意义) # 能够更加简单的 使用 存储在文件中的数据 # 查 一行数据 从userinfo 条件 id = 10 或者 id = 20 #简单 比那一行 要简单 #不止读写改 还优化了效率(?为什么 没听清 not listened) # 能够更好地解决并发问题 #买票问题 你是为你的用户服务的 但是对于 数据库 你也是服务端 #python 中到处都是相对论 #自带的并发 不用自己写server # 数据的统一问题 # 1,alex,alex3714 #一行内容就是一条数据 # 2,python,19800,6,months # 一条不同的数据 # 数据库 DataBase 简称DB # 存储数据的地方, 我们把所有的数据都存储在一个固定的地方,那么这个地方就是数据库 #数据库管理系统 DBMS #软件 需要我们安装一下 #能够帮助我们更好的管理 #和使用存储在硬盘上的数据 #操作系统 #硬盘上存储着数据 # 数据库 服务器 #什么是服务器 : 本质上就是一条计算机 (对外提供服务) #当一台计算机上安装了某个人软件能够对外提供服务的时候,那么这台机器就成为服务器 #数据库服务器 #当这台机器上安装的服务是一个数据库的server ,就得到了一个。。。。 #数据库管理软件:管理-数据库 # 数据库管理员DBA # (删库的人 有权限。。。) #专门帮我们管理数据库 并且优化数据库的工作人员 # 数据库 技术的发展 #纸 上表格 #excel #软件 批处理 软件:(把你频繁的要做的变成机器去做了) # mysql 就是一个DBMS(能够管理硬盘上数据的一个软件) # 通过固定的简单的指令 帮助我们完成从文件中查找对应数据的软件 #mysql不好用,自己写,程序员的责任 好用就算了 不想用别的找不到缺点 #软件那个没有缺点,就像人一样,一秒变笨,改错则少 #无知才会求知 有错才会改错 #笨才会求聪明 #oracle 也是一个DBMS # 数据库 管理系统的作用 #关系型数据库 (mysqloraclesql server(微软里的底层服务) sqllite) #(关系比较紧) # 这几个用法都差不多 都是传上去 拉下来 不同的相同的 # (每个每个都对应 肯定慢) #id name age phone_num #是有关系的 彼此之间 #知道了一个人的名字能不能获取到他的年龄, #知道了一个人的电话号码,能不能获取到姓名 #非关系型数据库 (redis mongodb) #既可以完成通信也可以。。。 mon智能机器人(选修第四个)轻量级 #(效率高 1对多 ) #key : value key---> value 只知道value找不到key #只有一个找所有 # mysql 开源的软件 -小公司 各种互联网公司(二次开发之后) #开源 可能有的漏洞 被人操作了 #很多地方不如oracle 严谨 #金融公司 不会使用mysql存储数据的 。。。数据库被泄露了 只就是一个数字了。。。 #oracle 付费的 #金融行业(绝对安全) #国企事业单位 #sql server 在学校里教学使用的
传的话 可能会出错,不要相信任何人的软件 从官网上安装最安全
以后进公司
3员工系统
#写一个员工管理软件 #1,alex,38,1233333333,过气网红讲师 #2,wusir,74,1388888888,python讲师 # 查name,id 从 userinfo 条件 age = 83 # 查number, 从 userinfo 条件 name = ‘wusir‘ # 自己去处理文件 很复杂?
以上是关于4yue 22的主要内容,如果未能解决你的问题,请参考以下文章