zoukankan      html  css  js  c++  java
  • 网络概念小结

    什么是进程?
      就是为了形容执行中的程序的一种称呼
      它是操作系统中资源分配的最小单位
      进程之间是数据隔离的,占用操作系统资源相对多
      独立存在的


    谈谈对并发的理解?
      同时有多个任务需要执行但是资源有限
      所以我们会利用一些手段:多进程多线程协程来完成任务
      来提高用户体验,达到多个任务在同一个时间段内同时执行的效果

    什么是线程?
      轻量级进程,直接被CPu调用,不能独立存在的轻量级进程
      同一进程中的多个线程之间数据共享


    你对GIL的理解?
      全局解释器锁,是用来锁线程的,Cpython解释器提供的
      导致了同一时刻只能有一个线程访问Cpu
      是一个历史遗留问题

    你对异步非阻塞的理解?
    异步:一个任务的执行不需要等待另个任务的结束
    非阻塞: 没有阻塞
         设置非阻塞(socket对象调用setblocking(False))


    什么是协程?
      协程是用户级的,对操作系统不可见
      使用户为了提高一条线程对CPU的利用率才出现的概念
      协程能实现一条线程上的多个任务相互切换
      为了提高效率,用户可以控制协程在一个任务中遇到IO就切换另一个任务


    协程和线程比起来?

      协程不存在数据不安全问题
      协程不能处分利用多核
      但是线程在Cpython解释器下实际上也不能利用多核
      所以相对来说,协程实际上在python中是更好的工具

    什么是IO多路复用?
      操作系统提供的代理,监听网络对象的IO操作

    常见的IO多路复用机制?
      select:轮询的方式获取每个对象的状态
      poll:底层数据结构与select不同,进行了优化,能够储存更多的对象,也是轮询的方式
      epoll:不采用轮询的方式来获取每个对象的状态,而是采用回调函数的方式,
          所以wait for data 阶段 一收到数据就可以立即通知应用程序
          提高了效率,也减轻了操作系统的负担










  • 相关阅读:
    常用数据验证
    js regx验证==== 正则
    sql单列合并
    msdn的网址 sql相关
    Json城市列表
    Ubuntu安装SSH服务器故障分析及解决办法(错误1:E:软件包 openssh-server 还没有可供安装的候选者,错误2:E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系)
    小样儿老师:我的嵌入式学习之路(一)
    J
    归并排序的相关用法
    I
  • 原文地址:https://www.cnblogs.com/systemsystem/p/10119658.html
Copyright © 2011-2022 走看看