多线程与并发面试题
JAVA多线程和并发基础面试问答
原文链接译文连接作者:Pankaj译者:郑旭 东校对:方腾飞 多线程和并发问题是Java技术面试中面试官比 较喜欢问的问题之一。在这里,从面试的角度 列出了大部分重要的问题,可是你依多线程与并发面试题
JAVA多线程和并发基础面试问答
原文链接译文连接作者:Pankaj译者:郑旭 东校对:方腾飞 多线程和并发问题是Java技术面试中面试官比 较喜欢问的问题之一。在这里,从面试的角度 列出了大部分重要的问题,可是你依然应该牢
的掌握Java多线程基础知识来对应日后碰到 的问题。 (校对注:非常赞同这个观点
Java多线程面试问题
?
一个进程是一个独立(self contained )的运行环
境,它能够被看作一个程序或者一个应用。而 线程是在进程中执行的一个任务。Java运行环 境是一个包含了不同的类和程序的单一进程。
线程能够被称为轻量级进程。线程需要较少的 资源来创立和驻留在进程中,而且能够共享进 程中的资源。
在多线程程序中,多个线程被并发的执行以提 高程序的效率,CPU不会因为某个线程需要等 待资源而进入空闲状态。多个线程共享堆内存 (heap memory),因此创立多个线程去执行一些 任务会比创立多个进程更好。举个例子, Servlets比CGI更好,是因为Servlets支持多 线程而CGI不支持。
用户线程和守护线程有什么区别?
当我们在Java程序中创立一个线程,它就被称 为用户线程。一个守护线程是在后台执行而且 不会阻止JVM终止的线程。当没有用户线程在 运行的时候,JVM关闭程序而且退出。一个守 护线程创立的子线程依然是守护线程。
我们如何创立一个线程?
有两种创立线程的方法:一是实现Runnable接 口,然后将它传递给Thread的构造函数,创立 一个Thread对象;二是直接继承Thread类。 若想了解更多能够阅读这篇关于如何在Java中 创立线程的文章。
有哪些不同的线程生命周期?
当我们在Java程序中新建一个线程时,它的状 态是New。当我们调用线程的start()方法时, 状态被改变为R^mgRe。线程调度器会为 Runnable线程池中的线程分配CPU时间而且 讲它们的状态改变为Running。其它的线程状 态还有Waiting,Blocked和Dead。读这篇文章 能够了解更多关于线程生命周期的知识。
()方法么?
当然能够,可是如果我们调用了 Thread的 run()方法,它的行为就会和普通的方法一样, 为了在新的线程中执行我们的代码,必须使用
()方法。
?
我们能够使用Thread类的Sleep()方法让线程 暂停一段时间。需要注意的是,这
多线程与并发面试题 来自淘豆网m.daumloan.com转载请标明出处.