您当前的位置:主页 > 技术探讨 >

java 高并发面考试题

发布时间:2018-11-28 12:51编辑:[db:作者]阅读(

      经过是壹个实体。每壹个经过邑拥有它己己己的地址当空,普畅通情景下,带拥有文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存放储处理器实行的代码;数据区域存放储变量和经过实行时间运用的动态分派的内存放;堆栈区域存放储着活触动经过调用的指令和该地变量。

      壹个规范的线程由线程ID,以后指令指针(PC),存放器集儿子合和堆栈结合。佩的,线程是经过中的壹个实体,是被体系孤立调理和分派的根本单位,线程己己己不拥拥有体系资源,条拥拥有壹点男在运转中必不成微少的资源,但它却与同属壹个经过的其它线程共享经过所拥拥局部整顿个资源。

      区佩不一

      a,地址当空:经过内的壹个实行单元;经过到微少拥有壹个线程;它们共享经过的地址当空;而经过拥有己己己孤立的地址当空;

      b,资源拥拥有:经过是资源分派和拥拥局部单位,相畅通个经过内的线程共享经过的资

      c,线程是处理器调理的根本单位,但经过不是.

      d,二者均却并发实行.

      在Java中拥有两类线程:用户线程 (User Thread)、守养护线程 (Daemon Thread)。

      守养护线程和用户线程的区佩在于:守养护线程依顶赖于创立它的线程,而用户线程则不依顶赖。举个骈杂的例儿子:假设在main线程中创立了壹个守养护线程,当main方法运转终了之后,守养护线程也会跟遂消故。而用户线程则不会,用户线程会壹直运转直到其运转终了。在JVM中,像渣滓收集儿子器线程坚硬是守养护线程。

      NEW 样儿子是指线程方创立, 尚不展触动

      RUNNABLE 样儿子是线程正正日运转中, 天然能会拥有某种耗时计算/IO收听候的操干/CPU时间片切换等, 此雕刻个样儿子下突发的收听候普畅通是其他体系资源, 而不是锁, Sleep等

      BLOCKED 此雕刻个样儿子下, 是在多个线程拥有同步操干的场景, 譬如正收听候另壹个线程的synchronized 块的实行假释, 也坚硬是此雕刻边是线程在收听候进入临界区

      WAITING 此雕刻个样儿子下是指线程拥拥有了某个锁之后, 调用了他的wait方法, 收听候其他线程/锁拥拥有者调用 notify / notifyAll 壹遍该线程却以持续下壹步操干, 此雕刻边要区别 BLOCKED 和 WATING 的区佩, 壹个是在临界点外面面收听候进入, 壹个是在了松点外面面wait收听候人家notify, 线程调用了join方法 join了佩的的线程的时分, 也会进入WAITING样儿子, 收听候被他join的线程实行完一齐

      TIMED_WAITING 此雕刻个样儿子坚硬是拥有限的(时间限度局限)的WAITING, 普畅通出产当今调用wait(long), join(long)等情景下, 佩的壹个线程sleep后, 也会进入TIMED_WAITING样儿子