1.进程包含线程
一个进程里可以有一个线程,也可以有多个线程.不能没有线程。
2.进程是系统资源分配的基本单位
线程是系统调度执行的基本单位
3. 同一个进程里的线程之间,共用同一份系统资源.(内存,硬盘,网络带宽等..)
尤其是内存资源,就是代码中定义的变量/对象.………
编程中,多个线程,是可以共用同一份变量的
4.线程是当下实现并发编程的主流方式,通过多线程,就可以充分利用好 多核 CPU.
但是,也不是线程数目越多,就越好,线程数目达到一定程序,把多个核心都利用充分了之后,此时继续增加线程,无法再提高效率,甚至可能会影响效率(线程调度,也是有开销的)
5.多个线程之间,可能会相互影响.线程安全问题.一个线程抛出异常,也可能会把其他线程也一起带走
6.多个进程之间,一般不会相互影响,一个进程崩溃了,不会影响到其他进程,(这一点也成为进程的隔离性”)