文章分类 - 网络编程
摘要:一,IO模型前戏准备 1,用户空间与内核空间 现在操作系统都采用虚拟存储器,对于32位操作系统来说,它的寻址空间(虚拟存储空间)为4G(2的32次方)操作系统的核心为内核,独立于普通的应用程序,可以访问搜保护的内存空间,也有访问底层硬件设备的权力为了保证用户进程不能直接操作内核,将虚拟存储空间分为两
阅读全文
摘要:事件驱动是一种代码编写范式,程序的执行流由外界事件决定。特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。两外两种常用的范式是(单线程)同步和多线程编程 传统的代码编写是线性模式的: 开始->代码块a->代码块b->代码块c->代码块d->结束每一个代码快里完成各种各样的事情,但
阅读全文
摘要:协程:又称微线程,纤程,是一种用户态的轻量级线程,能够在单线程下跑出并发的状态 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下文和栈保存在其他地方,在切回来时,恢复先前保存的寄存器上下文和栈 因此:协程能够保存上一次调用时的状态,每次过程重入时,相当于进入上一次调用的状态 协程的优点和
阅读全文
摘要:事件,他不是锁,但是他的功能与condition相同,且使用范围更广,一个线程来控制另一个线程,来实现线程间的通信 条件同步和条件变量同步差不多的意思,只是少了锁功能,因为他设基于不访问共享资源的条件环境 event=threading.Event() :条件环境对象,初始值未Falseevent.
阅读全文
摘要:条件变量同步 也是一种锁 有一类线程需要满足条件之后才能继续执行,python提供了threading.Condition对象用于条件变量线程的支持。 lock_con=threading.Condition([Lock/Rlock]) 创建一个条件变量锁,锁是可选项,不填的话,对象自动创建一个RL
阅读全文
摘要:信号量是一种并行的锁,每新建一个信号量,并行的锁数目加一。建立信号量后,每程序中同时只能有与信号量相同数目的线程可以执行,一个信号量只能进入一个线程。 因此设置信号量数目后,能够一起运行的线程与信号量数目相同。信号量中前面线程都结束以后,后面的线程才能进入信号量中, 会造成一种信号量中的线程是同时运
阅读全文
摘要:首先了解一下死锁: 两个线程互相需要对方的锁才能进行下一步时陷入的等待状态 如:a线程需要b线程的c锁,b线程需要a线程的d锁 举例: class Mythread(threading.Thread): def A(self): LockA.acquire() print(self.name,'Do
阅读全文
摘要:在以下函数中,如果想要将参数c减到0,函数需要执行100次 def a(): global c c-=1 c=100 这样太慢,100次函数执行得出结果太慢,就可以同时创建100个线程,1次减完,代码如下: thread_list=[] for i in range(100): t=threadin
阅读全文
摘要:进程和线程之间的区别: 1.线程们可以共享一块地址空间,进程独立享有一个地址空间2.线程可以进入进程修改他的数据片,即共享一个数据3.线程之间可以通信,进程之间不能通信4.很容易就能创建一个新的线程,创建新进程需要拷贝父进程,开销很大5.线程之间可以互相操作,进程不可以6.主线程可以影响子线程,主进
阅读全文
摘要:线程的概念: 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程实际的运作单位之一一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条进程并行不同的任务 创建线程 以函数形式创建多线程的方法 import threading 导入模块t1=threading.
阅读全文
摘要:socket的缺陷: 使用socket编写使客户端和服务端连接时,只能由一个客户端能够与服务端保持连接, 其他的客户端只能处于排队状态,等待服务端与正在连接的客户端断开连接,下一个客户端才能连接 总之:同时只能由一个客户端能够与服务端保持连接,接收信息 socketserve 因此就可以使用sock
阅读全文
摘要:目的: 通过服务端和客户端的连接,用户向客户端发出命令post 文件名然后客户端系统根据os.path找到该文件的目录,将文件传输到服务端固定的文件中 即用户端将文件上传到服务端的文件夹中。 客户端代码: sk=socket.socket() address=('127.0.0.1',8000) s
阅读全文
摘要:本次的内容为使用socket,来完成客户端发送命令,服务端接收命令,并将命令执行的结果显示在结果中。 需要在服务端使用subprocess来执行服务端的语句 #客户端代码: import socket sk=socket.socket() address=('127.0.0.1',8000) sk.
阅读全文
摘要:socket通信流程: 客户端: 1,服务器根据地址类型(IP4,IPv6),socket类型以及协议类型创建socket2,服务器将socket绑定的ip地址和对象3,监听设置端口等待客户端的请求4,阻塞,直到有客户端连接 服务端: 1,根据地址类型(IP4,IPv6),socket类型以及协议类
阅读全文
摘要:网络通信三要素 ip地址 (1)用来标识网络上一台独立的主机(2)特殊的Ip地址:127.0.0.1 (本地回环地址,保留地址,点分十进制)可用于简单的测试网卡是否故障,表示本机 端口号 操作系统一共打开了65535个端口号,1024之前的端口号都被操作系统使用。 (1)用于标识进程额逻辑地址。不同
阅读全文

浙公网安备 33010602011771号