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个链接

 

posted @ 2020-10-19 19:06  小虾米爱吃鱼  阅读(162)  评论(0编辑  收藏  举报