网络编程之异步O - 计算机科学系Department of Computer Science.pptVIP

  • 0
  • 0
  • 约2.37千字
  • 约 16页
  • 2019-03-13 发布于江苏
  • 举报

网络编程之异步O - 计算机科学系Department of Computer Science.ppt

异步IO 计算机网络实验课 两种模式 阻塞模式 非阻塞模式 阻塞模式 套接字创建时,默认工作在阻塞模式下。例如对于recv函数的调用会使程序进入等待状态,直到接收到数据才返回 使用阻塞模式时,需要处理多个套接字连接时,就必须创建多个线程,即一个连接使用一个线程 One thread per client 阻塞模式为什么一定是One thread per client? 考虑一个线程正在等待接收数据,却有别的客户在申请连接。。。 One thread per client 优点 简单,并且在用户数量为a few tens的时候,是响应速度最快的一种模型 缺点 扩展性不好 1)每一个线程都要消耗系统资源 2)系统在线程间切换需要花费时间 当more than a few tens的线程同时运行时,因素2)首先影响系统性能,线程进一步增加时,因素1)的作用也会越来越明显 Thread的理论值 从资料来看,每一个线程默认分配的堆栈是1M 每一个用户进程最大的可用地址空间是2G 所以理论上默认的线程数量是2000 限制堆栈大小之后,例如4K,出现了另外一个地址空间分配粒度的问题,最小为64K,所以最多线程数约13000. 注意到还有一些系统DLL等需要占用内存 阻塞模式小结 One thread per client 主要问题是系统性能受影响 线程的数量限制不是主要因素 为了

文档评论(0)

1亿VIP精品文档

相关文档