诚意
诚意如你,当一诚的态度对待

导航

 

一:进程和线程

第一:

  进程:CPU资源分配的最小单元

  线程:CPU计算的最小单元

第二:

  一个进程中可以有多个线程

第三:

  对于python来说他的进程和线程和其他语言有差异,是有GIL锁

  GIL锁保证了一个进程中同一时刻只有一个线程被CPU调度

注意:IO密集型操作可以使用多线程;计算密集型可以使用多进程

 

 

网络编程:

 

1. 网络基础
- 网卡
- IP
- ...
2. OSI 7层
3. 三次握手四次挥手
4. BS和CS架构?
5. socket基本代码
6. 黏包
7. 断点续传
8. 协议
自定义协议:{'code':10001,data:{...}}
Http协议:GET /s?wd=alex HTTP/1.0\r\nhost:www.baidu.com\r\n\r\n

9. 面向对象+高级作业:反射/面向对象

 

并发编程:

1. 进程、线程、协程的区别?

进程是资源分配的最小单元,其作用是进行数据隔离

线程是cpu调度的最小单元,其作用主要是执行某个任务

一个应用程序可以有多个进程,一个进程可以有多个线程

在其他语言中几乎很少用进程,都是用多线程,而对于python来说,IO操作主要是用多线程实现,计算密集型操作主要是用多进程实现,主要原因是python中存在GIL锁,GIL锁的作用就是保证一个进程中同一时刻只有一个线程被cpu调度,所以在python中想要利用cpu的多核优势就是开多个进程。在后来程序员级别的人为了让代码更牛逼,创建了一个东西叫协程,这个东西本身不存在,是程序员自己创造出来的,协程可以对代码的执行顺序进行控制,本身这个东西存在没有意义,但是协程要是和IO切换放在一起就了不得了,遇到IO操作就切换,相当于把一个线程分片,所达到的效果是线程一直没有停,一直在工作,这就是进程、线程、协程的本质区别,在python中用协程的时候会有一个模块叫greenlet,协程加IO自动切换的模块叫gevent。


2. 线程
- 基本写法
- 实例化
- 继承
- 锁
- RLock
...
- 线程池
3. 进程
- 基本写法
- 实例化
- 继承
- 锁
- RLock
...
- 线程池
- 进程数据共享

4. 协程
- 协程
- 协程+IO:gevent

5. IO多路复用

6. 异步/同步 阻塞/非阻塞

posted on 2018-09-12 15:30  诚意  阅读(122)  评论(0)    收藏  举报