day21线程与进程

种类

1、线程
2、进程
3、协程

引入

“alex甄嬛西游记”

Alt text

分析:
1、进制和线程的目的;就是提高cpu执行效率

2、上图中的alex可以是多个也可以是单个;这个就是cpu的内核。

3、进程就相当于内存

4、图中蓝色部分:GIL(全局解释器锁)

进程

资源的集合
进程的创建目的:

  • 优点:就是利用cpu的多核。让cpu同时执行多个任务
  • 缺点:创建进程就相当于上面再创建个红框;也相当于重新开辟内存空间;会耗费资源

进程不是越多越好;最好的个数和cpu核数一样

线程

操作cpu的最小调度单位;是一串指令的集合

  • 优点:共享内存;多个线程在一个进程;将会共享;进程里面的所有资源;IO操作能创作出并发的操作
  • 缺点:抢占资源;当同进程里面的线程;同时修改一个资源的时候。

线程也不是越多越好,具体案例具体分析。请求上下文切换;非常耗时。

总结:
进程和线程的目的:提高执行效率。
1、单进程和单线程<==>主进程和主线程

2、自定义线程:

  • 通过主线程创建子线程

3、在计算机里面;执行程序(任务)的最小单元是线程

4、IO操作不用CPU

5、IO密集型(很多IO操作):适合用多线程
6、计算密集型:会用CPU;适合多进程

7、进程与线程是没法比的:因为进程没办法自己运行;必须依赖线程

8、进程至少包含一个线程

9、当相同进程下的线程对统一个资源进行操作的时候;会报错!(原因是同时操作的时候;不知道以那个的结果为准)

10、进程和线程;谁启动快?答案是线程快以上面的例子为列;进程相当于造房子;线程相当于招人;可想而知;运行的时候是一样的;进程的运行必须靠线程。

11、线程共享内存空间;进程的内存空间是独立的

12、一个线程可以控制和操作统一进程的其他线程;但是进程只能操作子进程

13、对于主线程的修改;可能会影响其他线程;应为它们共享嘛

14、但是对主进程的修改;却不会影响其他子进程;除非你删除了主进程;因为它们是独立的嘛

posted on 2016-11-09 23:18  jayafs  阅读(63)  评论(0)    收藏  举报

导航