java多线程试题-答案.docx

上传人:太** 文档编号:97991666 上传时间:2024-07-08 格式:DOCX 页数:3 大小:14.67KB
返回 下载 相关 举报
java多线程试题-答案.docx_第1页
第1页 / 共3页
java多线程试题-答案.docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《java多线程试题-答案.docx》由会员分享,可在线阅读,更多相关《java多线程试题-答案.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、多线程一. 选择题1 .下列说法中错误的一项是(A)A. 线程就是程序B.线程是一个程序的单个执行流B. 多线程是指一个程序的多个执行流D.多线程用于实现并发2 .下列哪个一个操作不能使线程从等待堵塞状态进入对象堵塞状态(D)A. 等待阴塞状态下的线程被notify。唤B. 等待堵塞状态下的纯种被interrput()中断C. 等待时间到D. 等待堵塞状态下的线程调用wait()方法3 .下列哪个方法可以使线程从运行状态进入其他堵塞状态(A)A. sleepB.waitC.yieldD. start4 .下列说法中错误的一项是(D)A. 一个线程是一个Thread类的实例B. 线程从传递给纯种

2、的Runnable实例run()方法起先执行C. 线程操作的数据来自Runnable实例D. 新建的线程调用start。方法就能立刻进入运行状态5 .下列关于Thread类供应的线程限制方法的说法中,错误的一项是(D)A. 在线程A中执行线程B的join。方法,则线程A等待直到B执行完成B. 线程A通过调用interrupt。方法来中断其堵塞状态C. 若线程A调用方法isAlive。返回值为true,则说明A正在执行中D. currentThread。方法返回当前线程的引用6 .下列说法中,错误的一项是()A. 对象锁在synchronized。语句执行完之后由持有它的线程返还B. 对象锁在s

3、ynchronized。语句中出现异样时由持有它的线程返还C. 当持有锁的线程调用了该对象的wait。方法时,线程将释放其持有的锁D. 当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁7 .下面的哪一个关键字通常用来对对象的加锁,从而使得对对象的访问是排他的AA. sirialize B transientC synchronized D static二.填空题1 .在操作系统中,被称做轻型的进程是线程_2 ,多线程程序设计的含义是可以将一个程序任务分成几个并行的任务3 .在Java程序中,run()方法的实现有两种方式:实现Runnable接口和_继承 Thread 类4 .多个

4、线程并发执行时,各个线程中语句的执行依次是确定 的,但是线程之间的相对执行依次是不确定的6 .Java中的对象锁是一种独占的排他 锁7 .程序中可能出现一种状况:多个线种相互等待对方持有的锁,而在得到对方的锁 之前都不会释放自己的锁,这就是死锁8 .线程的优先级是在Thread类的常数MIN.PRIORITY和 MAX PRIORITY之间的一个值9 .处于新建状态的线程可以运用的限制方法是. start。和stop。10 .一个进程可以包含多个线程三.简答题1 .说明几个概念:对象锁、sleep、wait、notify、notifyAll对象锁:每个对象都有对象锁,当某个线程进入用synch

5、ronized定义方法时,就 获得了当前类对象(方法所属的类的对象)的锁,其他线程就不能再获得该锁,直到线程释 放该锁。一个类对象有一个对象锁,多个同步方法公用一个对象锁。sleep:是当前线程处于休眠状态,将对cpu的限制权交给其他线程,但不释放当前对 象的锁,其他线程可以获得cpu,但不能进入当前线程限制的对象锁。wait:与sleep的区分是,它会释放对象锁,其他线程可以进入该同步块。notify:进入当前同步块的线程调用wait方法变成休眠状态的线程,notify将该线程 变成等待状态。notifyAll:进入当前同步块的线程调用wait方法变成休眠状态,notifyAll使全部休 眠

6、线程变成等待状态。一个类中有多个同步方法,进入随意一个同步块都将获得该对象锁,由于wait方法使 进入同步块的线程休眠,notify只能唤醒全部被休眠线程中的一个,notifyAll可以唤醒全 部休眠线程。通常线程的通信通过wait, notifyAll和wait条件来实现。2. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?S有两种实现方法,分别是继承Thrad类与实现Runnabl接口用synchronizd关键字修饰同步方法3. sleep () 和 wait () 有什么区分?答:sl-P是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执 行机会给其他线

7、程,但是监控状态照旧保持,到时后会自动复原。调用sip不会释放对 象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入 等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程 才进入对象锁定池准备获得对象锁进入运行状态。4. 同步和异步有何异同,在什么状况下分别运用他们?举例说明。答:假如数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正 在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必需进行同步存取。当应用程序在对象上调用了一个须要花费很长时间来执行的方法,并且不希望让程序等待 方法的

8、返回时,就应当运用异步编程,在很多状况下接受异步途径往往更有效率。5. 启动一个线程是用run ()还是start () ?答:启动一个线程是调用start ()方法,使线程所代表的虚拟处理机处于可运行状态, 这意味着它可以由JVM调度并执行。这并不意味着线程就会立刻运行。run()方法可以产 生必需退出的标记来停止一个线程。6 .多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?答:多线程有两种实现方法,分别是继承Thrad类与实现Runnab工接口 同步的实现方面有两种,分别是synchronized, wait与notify7 .线程的基本状态以及状态之间的关系Java中的线程有四种状态分别是:运行、就绪、挂起、结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁