温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java线程与进程的区别有哪些

发布时间:2021-11-18 10:10:29 来源:亿速云 阅读:123 作者:iii 栏目:编程语言

这篇文章主要介绍“java线程与进程的区别有哪些”,在日常操作中,相信很多人在java线程与进程的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java线程与进程的区别有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

进程

进程是程序的一次执行,应用程序以进程的形式,运行于操作系统之上,享受操作系统提供的服务。一个进程一般由程序段、数据段和进程控制块组成。

线程

线程是指“进程代码段”的一次的顺序执行流程,线程演进完成后,线程是CPU调度的最小单位。一条进程可以有一个或多个线程,各个线程之间共享进程的内部空间、系统资源,进程仍是操作系统资源分配的最小单位

进程和线程的区别

  1. 一个进程由一个或多个线程组成;

  2. 线程是CPU调度的最小单位;进程是操作系统分配资源的最小单位。线程的划分尺度小于进程,使得多线程程序的并发性高

  3. 进程之间相互独立,但进程内部各个线程之间共享进程的方法区内存、堆内存、系统资源

  4. 线程上下文切换比进程上下文切换快。

java进程

每当java命令启动一个java应用程序时,就会启动一个JVM进程。在这个JVM进程内部,所有Java程序代码的运行都是以线程来运行的。

java主线程

java程序是以线程的方式执行的,入口是main方法,运行main方法就产生了一个线程,称为主线程。当main方法结束后,主线程运行完成,JVM进程也随即退出。三部分:线程描述信息、程序计数器、栈内存。

Java线程和os线程一一对应。创建一个用户线程也要创建一个内核线程,开销大。线程的创建、销毁、切换、进程需要切换到内核态,完成之后,再切换回用户态。内核态和用户态切换的开销非常大。

java线程的底层实现

  1. windows上采用Win 32 API实现

  2. UNIX和Linux采用Pthread,POSIX标准的扩展,提供用户级或内核级库

创建线程有四种方式

  1. 继承Thread

  2. 实现Runnable

  3. 利用Callable和FutureTask创建异步任务,然后创建线程实例。可返回结果

  4. 利用线程池

jdk8的lambda表达式(减少手写步骤,并告诉考官有jdk8新特性的了解应用)

Thread t = new Thread(()->System.out.print(Thread.CurrentThread().getName()))

到此,关于“java线程与进程的区别有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI