摘要:
What is the association? 与子例程一样,协程也是一种程序组件。 相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。 协程源自Simula和Modula-2语言,但也有其他语言支持。 协程更适合于用来实现彼此熟悉的程序组件,如合作式多任务,迭代器,无限列表和 阅读全文
摘要:
What is a Thread? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 在同一个进程内的线程的数据是可以进行互相访问的。 线程的切换使用过上下文来实现 阅读全文
摘要:
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。 举例说明 你是一名老师(线程),上课了(启动线程),这节课是自习课,学生都在自习,你也在教室里面坐着,只看着这帮学生,什么也不干(休眠状态),课程进行到一半时,A同学(socket)突然拉肚子,举手说:老湿我要上厕 阅读全文
摘要:
利用socketserver实现多并发,socketserver内部会调用socket模块进行功能上的实现 client.py客户端脚本文件内容 server.py服务端脚本文件内容 阅读全文
摘要:
粘包 在实现发送文件功能之前我们先来理解下粘包的问题,下面有两张图,我觉得很清晰的就可以理解到了。 正常情况下发送文件 粘包的问题下发送文件 解决粘包问题 如果出现粘包的问题,那么传输的数据就有问题了,如何解决这个问题呢?看下图: 文件上传: server.py 阅读全文