摘要:
from socket import * from threading import Thread import sys import traceback #httpserver类,封装具体的服务器功能 class HTTPServer(object): def __init__(self, server_addr, static_dir): #增加服务器对象属性 ... 阅读全文
2018年9月17日
摘要:
定义:纤程,微线程。协程的本质是一个单线程程序,所以协程不能够使用计算机多核资源。 作用:能够高效的完成并发任务,占用较少的资源。因此协程的并发量较高 原理:通过记录应用层的上下文栈区,实现在运行中进行上下文跳转,达到可以选择性的运行想要运行的部分,因此提高程序的运行效率。 优点:消耗资源少。无需切 阅读全文
2018年9月16日
摘要:
1.两者都是多任务编程方式,都能够使用计算机的多核资源2.进程的创建删除消耗的计算机资源比线程要多3.进程空间独立,数据相互不干扰,有专门的IPC,线程使用全局变量进程通信4.一个进程可以创建多个线程分支,两者之间存在包含关系5.多个线程公用进程的资源,在资源操作时往往需要同步互斥6进程线程在系统中 阅读全文
2018年9月14日
摘要:
造成原因: python 》 支持线程操作 》IO的同步和互斥 --》 加锁 》 超级锁,给解释器加锁 》解释器同一时刻只能解释一个线程 造成的后果: 一个解析器同一时刻只有解释执行一个线程,所以导致python线程效率低下。但是当遇到IO阻塞时线程会主动让出解释器,因此python线程更加适合高延 阅读全文
摘要:
线程的event: 创建对象: e = threading.Event() 事件阻塞函数 e.wait([timeout]) 设置事件 e.set() 清除事件 e.clear() 线程锁: lock = threading.Lock() 创建锁对象lock.acquire() 上锁lock.rel 阅读全文
摘要:
什么是线程 (thread) 线程也是一种多任务编程方式,可以使用计算机的多核资源。线程被称为轻量级的进程。 线程特征 *线程计算机多核分配的最小单位 *一个进程可以包含多个线程 *线程也是一个运行的过程,消耗计算机资源,多个线程共享进程的资源和空间 *线程的创建删除消耗的资源都要远远小于进程 *多 阅读全文
摘要:
原理: 给定一个数量,对多个进程可见,且多个进程都可以操作。进程通过对数量多少的判断执行各自的行为。 multiprocessing --> Semaphore() 函数方法: sem = Semaphore(num) 功能 : 创建信号量对象 参数 : 信号量的初始值 返回 : 信号量对象 sem 阅读全文
摘要:
通道原理: 一个进程向另一个进程发送一个信号来传递某种讯号,接受这根据收到的信号进行相应的行为 在命令端可以用这两个命令来查看和发起信号 kill -l 查看系统信号 kill -sig PID 向一个进程发送信号 一些常见的信号 SIGHUP 断开连接 SIGINT ctrl-c SIGQUIT 阅读全文
2018年9月12日
摘要:
通信原理: 在内存中开辟一块空间,对多个进程可见,进程可以写入输入,但是每次写入的内容会覆盖之前的内容。 函数方法: shm = Value(ctype,obj) 功能: 开辟共享内存空间 参数: ctype 字符串 要转变的c的类型 obj 共享内存的初始数据 返回值 : 返回共享内存对象 *sh 阅读全文