• python基础理论


    常见数据类型

    1.列表  2 字符串  3 字典  4 集合

    进程

    什么是进程

    1.进程是资源分配最小单位,资源:分配内存,进程就是运行在内存中的

    2.一个运行起来的程序就是一个进程? 程序:存储在硬盘中的可执行代码

    3.进程拥有独立的资源,进程之间的数据相互间隔,不能共享

    进程间如何共享数据

    1.利用queues实现父进程到子进程的数据传递        父子进程通信

    2.使用管道pipe实现两个进程间的传递                    Python的进程进程间

    3.Managers实现很多进程间数据共享                     Python的进程进程间

    4.借助redis中间件进行数据传递                             不同语言的进程通信

    什么是线程

    1.线程是操作系统调度的最小单位

    2.它被包含在进程中,是进程中的实际运作单位

    3.同一个进程下线程共享资源

    什么是线程锁

    1.作用是防止多个线程修改同一资源导致数据混乱

    2.对一个数据加了线程锁,其他数据没有读取的权限

    3.只要当前线程计算完成主动释放锁,其它线程才有对其操作的权限

    GIL全局解释器锁

    1.在全局解释器中,保证同一时间仅有一个线程运行

    2.保证同一时间内只有一个线程可以修改数据,其它所有线程都可以读取

    什么是协程

    1.协程是微线程,纤程

    2.特点:可以在单线程中处理并发的事物

    3.遇到I/O就自动切换

      3.1 普通线程遇到I/O就会阻塞,等待,不能处理其它事情

      3.2 协程遇到I/O自动切换到下一个函数,不会等待和阻塞,所以可以处理并发的事务

    什么是I/O

    1.把硬盘或者网络中的数据读取到内存中叫做I/O操作

    协程两个模块

    1.greenlet  遇到I/O手动切换

    2.gevent    遇到I/O自动切换

    协程与线程区别

    1.协程遇到I/O自动切换,线程遇到I/O阻塞

    2.协程拥有自己的寄存器和栈不需要上下文操作,线程把切换状态保存到

    CPU的栈中,需要上下文切换,所以耗时

    sellect,poll,epoll

    1.sellect  1.最多能监视监控1024个链接

  • 相关阅读:
    kafka 0.8.x producer Example(scala)
    Google V8扩展利器发布:v8-native-binding-generator
    beyond compare秘钥被禁
    STL算法之find
    十条nmap常用的扫描命令
    cgdb UTF-8乱码
    OpenWrt笔记
    openwrt hotplug
    git常用操作
    c99标准的restrict关键字
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13842072.html
Copyright © 2020-2023  润新知