二级Java重点难点分析:线程与对象串行化

出处:Examlink 作者:刀断水 日期:2007年08月09日 15时14分
   1.1  线程的基本概念
    1.1.1  考点1:线程模型
    将一个程序转换成为多个独立运行的子任务,每个子任务就是一个线程。线程是程序的一个执行流,它是一个以CPU为主体的行为。在Java中,线程的模型是由CPU、程序代码和数据封装体组成的集合,其中代码和数据构成线程体,代码和数据相互独立,不同线程之间可以共享代码和数据。
    在Java中,线程模型通过java.lang.Thread类定义和描述。

    例1.1.1  在Java中,线程的模型就是一个CPU、程序代码和________的封装体。
    答案:数据

    1.1.2  考点2:线程组
    在Java中,每个线程都必须归属于一个线程组。线程组可以把一组线程作为单个对象进行统一的处理或维护。
    线程在创建时必须显示确定其归属的线程组,其他任何时候都不允许更改线程所属的线程组。线程创建时默认继承父进程的线程组,其中首个线程组是main。线程组可以包含任意数目的线程和其他线程组,因此在Java应用程序中,线程组呈现出以main为根,其他线程和线程组为叶节点的树型结构    线程组在java.lang包中的ThreadGroup类实现。

   1.1.3  考点3:线程状态
    线程拥有自己的生命周期,不同的生命阶段具有不同的状态。线程的主要状态有:新建状态(New)、可运行状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)和终止状态(Dead)。
    线程被创建后,并不马上启动,而是进入新建状态。此时线程没有分配资源,只能使用start()和stop()两个控制方法。
    新建状态的线程在调用start()方法后,进入可运行状态。此时线程已经分配了必要资源,交给了系统调度。一旦线程实际占有了CPU,就进入了运行状态。
    运行状态的线程如果调用了yield()方法、sleep()方法、join()方法或wait()方法,或者申请对象锁未果、有更高优先级线程进入调度等,都可进入阻塞状态。阻塞状态的进程在获取到足够的资源后,也可以转入到可运行状态。
    当运行状态的线程正常执行完毕后,就进入了终止状态。
    线程的生命周期与状态转变关系如图10-2所示。

    例1.1.2  线程在生命期中要经历5种状态,它们分别是新建状态、可运行状态、运行状态、________状态和终止状态。
    答案:阻塞

    例1.1.3  线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是(   )。
    A.运行状态   B.阻塞状态   C.可运行状态  D.终止状态
    答案:C

    例1.1.4  线程生命周期中正确的状态是(   )。
    A.新建状态、运行状态和终止状态
    B.新建状态、运行状态、阻塞状态和终止状态
    C.新建状态、可运行状态、运行状态、阻塞状态和终止状态
    D.新建状态、可运行状态、运行状态、恢复状态和终止状态
    答案:C

最后更新时间:2008-05-28 12:09:24
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程