进程与线程以及它们之间的区别

进程是内存中运行的应用程序,拥有独立的内存和命名空间,具有安全保护,线程则是进程的实体,共享进程资源。Java中,线程通过Thread或Runnable创建,每个线程有自己的调用栈,分为用户线程和守候线程。当所有用户线程结束,JVM关闭,而守候线程由用户或系统创建,可保持运行。
摘要由CSDN通过智能技术生成

进程是内存中运行的一个i应用程序。
进程拥有自己的内存、命名空间
进程拥有安全模式,不会挂掉,但线程如果挂掉则可能整个进程都崩掉
线程是进程的实体
一个进程至少拥有一个线程
CPU执行的是线程。线程共享进程的资源(内存)。进程拥有保护机制。
调度策略。
进程拥有资源,最终是由线程运行在进程的资源上来
线程拥有自己的栈

Java中的线程

  1. Java使用Thread或Runnable来定义、实例化和启动新线程;Thread或Runnable对象和其他对象没有任何区别,生死于堆上;
  2. 每个线程都有自己的调用栈;Java从main方法开始运行,main方法所在线程为主线程;同时,新的线程会拥有新的调用栈;
  3. 线程分为用户线程和守候线程;所有用户线程运行完毕,JVM自动关闭;守候线程是由用户或系统自己创建的;

简而言之举个例子:用户点击运行一个IDEA或Eclipse,这时会创建一个守候线程;之后在程序中运行一个main方法,这时开始运行JVM,自动运行一个用户线程并开始运行程序代码;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值