帮忙么网 > JAVA > 当前页面

线程和进程的区别?

2025-01-09 NEW个对象

 1)进程包括线程


一个进程可以包含多个线程,但是一个线程只能在一个进程里面,但是一个进程里面至少都要有一个线程。


2)基本单位不同


进程是“资源分配”的基本单位,线程是“调度执行”的基本单位。


资源是什么:CPU时间,内存空间,文件,文件,输入输出设备的使用权等等


3)资源分配不同


一个进程拥有一份内存资源(也就是内存里new出来的对象/变量),每个进程拥有的内存资源都各自一份。但是同一个进程里面的线程是共用一份内存资源的,所以是多个线程用一份资源。


4)多线程在Java圈子是并发编程的主流的编程方式。


主要比进程轻量,多线程可以充分利用好多核心CPU,但是不是越多越好,线程达到一定的数量,就无法继续加快速度了,还会引起一些安全问题。


5)多个线程之间会相互影响。


要是一个线程出现安全问题,没有及时阻止,就可能会一起带走其他线程。


6)进程之间不会影响


进程之间有隔离性,一个进程奔溃了,不会影响到其他进程。

相关文章

  • for循环执行流程

    这也是一个笔试题,也是一道即便再复习两年也不会复习到点。

    NEW个对象 2025-01-13

  • JVM常见的配置参数

    JVM常见的配置参数

    NEW个对象 2025-01-09

  • cglib与jdk代理的区别

    JDK 动态代理: 只支持接口代理。它通过反射机制生成一个实现了指定接口的代理类。 代理对象只能调用接口中定义的方法。 CGLib 动态代理: 通过继承方式生成代理类。它可以代理没有实现接口的类。 代理对象可以调用类中的所有方法(除了final方法)。

    NEW个对象 2025-01-18

推荐文章