前面讲的是进程的相关理论部分python
从本节开始,就是对线程的相关知识的研究了编程
本节对线程进行一个定义,知道什么是线程多线程
以及横向对比进程,知晓二者的不一样点并发
线程是执行程序的最小单位线程
举个例子:进程
老师让你读一本书,那么这个书能够看做是进程,而你读书的这个过程就是线程资源
线程就是用来执行程序的,那么就能够这么想程序
每开一个进程是否是就要执行该进程,而执行程序的最小单位是线程总结
因此每开一个进程,随之而来的就是自动开一个线程通信
进程将资源都聚合起来,而后给线程执行
多线程就是在一个进程里存在多个线程,多个线程共享这个进程里面的资源
就好像班级同窗一块儿读投影仪上的文章同样,投影仪上的文章就是进程里面的资源
全班同窗就是一个一个的线程,几乎同时来执行读书这个‘任务’
线程和进程的区别,主要体如今如下这六个方面:
1.线程共享建立它的进程的地址空间;进程有本身的地址空间
2.线程能够直接访问其进程的数据段;进程有本身的父进程数据段副本
3.线程能够直接与其进程的其余线程通讯;进程要使用进程间通讯与兄弟进程通讯
4.新线程很容易建立;新进程须要父进程的重复
5.线程能够对同一进程的线程进行至关大的控制;进程只能对子进程进行控制
6.对主线程的更改(取消、优先级更改等)可能会影响进程的其余线程的行为;
对父进程的更改不会影响子进程
其实总结起来,就两个关键:
1.线程共享进程的数据
2.建立线程开销远小于进程