线程:进程中负责程序执行的执行单元. 多线程:在1个进程中存在多个线程. 进程只是用来把资源集中在一起,而线程才是cpu上的执行单位. 每个进程都会默认有一个控制线程也叫作主线程. 进程之间是竞争关系,线程之间是协作关系. 多线程和进程之间的区别? 1.线程开销小,不需要申请内存空间,创建速度快.进程需要申请内存空间,创建速度慢. 2,同一进程下的多个线程,共享该进程的地址空间. 3,改变主进程 ,无法影响子进程,改变了主线程,影响其他线程.原因(该控制线程可以执行代码从而创建新的线程,该主线程…
内容补充 python2与python3的区别? """ python3对unicode字符的原生支持 Python2中使用ASCII码作为默认编码方式导致string有两种类型str和Unicode , Python3只支持Unicode的string """ """ py2: unicode v = u"root" 本质上用Unicode存储 (str/bytes) v = "roo…
网络编程 并发socketserver ipv4.ipv6 ip协议:规定网络地址的协议 B/S架构 C/S架构 bs是cs的一种 B/S是浏览器和服务端架构 C/S是客户端和服务端架构 osi七层协议 机器与机器之间按照约定的协议对信息的解析 osi五层协议 应用层 HTTP.ftp.https.smtp协议 传输层 端口.tcp.udp协议 四层交换机,四层路由器 网络层 ipv4 ipv6协议 三层交换机,路由器 数据链路层 mac/arp协议 网卡,以太交换机,网桥 物理层 中继器,集线…
一丶python2和python3的区别 1.编码&字符串 字符串: python2: Unicode v = u"root"  本质上用unicode存储(万国码) (str/bytes) v = "root" 本质用字节存储 python3: str v = "root" 本质上用unicode存储(万国码) bytes    v = b"root"  本质上用字节存储 编码: python2:  ascii  文…
我们在工作中经常遇到,你公司内的某一台电脑要去访问你的服务器或者一个服务端电脑,那么你是让每一台都进行连接吗?  那不可能的  你肯定要进行限定的 验证客户端链接的合法性: hamc模块 hamc也是一个加密的模块 但是只能对字节进行加密 import hmacs = '老王'.encode('UTF-8') n = hmac.new(key = s) print(n.hexdigest()) # 6afd402b51938e21ee2ace13ddf0ead1 它的加密的后面还可以选择加密的情…
一.socketserver 模块介绍 socketserver是标准库中的一个高级模块,用于网络客户端与服务器的实现.(version = "0.4") 在python2中写作SocketServer,在python3中写作socketserver. socoketserver两个主要的类,一个是Server类,用于处理连接相关的网络操作,另外一个则是RequestHandler类,用于处理数据相关的操作,解决通信问题.并且提供两个MixIn 类,用于扩展 Server,实现多进程或…
提起网络编程,不同于web编程,它主要是C/S架构,也就是服务器.客户端结构的.对于初学者而言,最需要理解的不是网络的概念,而是python对于网络编程都提供了些什么模块和功能.不同于计算机发展的初级阶段,程序员走到今天,已经脱离了手工打造一切,要自己实现所有细节的年代.现在提倡的是不要重复造轮子,而是学习别人的轮子怎么用,只有那些有需求或能专研的人才去设计轮子甚至汽车,so,这是一个速成的年代. 因此,对于一个面向工作的python程序员,学习python的网络编程,其实学的就是那么几个模块,…
内容回顾: socket 模块 服务端:收发数据 - > accept/recv 客户端:收发数据 -> connect/recv 1. 考试题 1. 解释性和编译型 编译型: 先把代码编译成机器码 -> 计算机寄存器去运行 :C语言 先把代码编译成XXX -> 计算机找虚拟机执行代码->机器码交给计算技巧去运行 :C语言.java.C# 解释型: 边解释边执行 def func(): print(name) print(666) 4. 列表: ''.join(['xx','…
假如,开了十个线程并且做同样的一件事,他们需要带着自己的数据进来,完成事情后带着自己的数据出去.如果是并发,同时进来,他们的数据就会混乱. 一般情况,我们加锁就可以了,一个人先进来,先加锁,另一个人过来看到加锁了,就在外面等,等里面的人出来,自己进去加锁,这样就不会出现数据混乱的问题. 另一种解决方法就是threading.local()来解决问题. 先看下面这个现象 from threading import Thread ret = -1 # 先定义一个变量 def task(arg): #…
HTTP协议? HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.HTTP是一个无状态的协议. 通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS 默认HTTP的端口号为80,HTTPS的端口号为443.   what? 无状态什么鬼? HTTP无状态协议是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息, 则它必须重传,这样可能导致每次连接传送的数据量增大.另一方面,在服务器不需要先前信息时它的应…