java练习题-多线程.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

多线程

一、判断题

1.如果线程死亡,它便不能运行。(T)

2.在Java中,高优先级的可运行线程会抢占低优先级线程。(T)

3.线程可以用yield方法使低优先级的线程运行。(F)

4...程序开发者必须创建一个线程去管理内存的分配。(F)

5.一个线程在调用它的start方法,之前,该线程将一直处于出生期。(T)

6.当调用一个正在进行线程的stop()方法时,该线程便会进入休眠状态。(F)

7.一个线程可以调用yield方法使其他线程有机会运行。(T)

二、选择题

1.Java语言中提供了一个▁D▁线程,自动回收动态分配的内存。

A.异步

B.消费者

C.守护

D.垃圾收集

2.Java语言避免了大多数的▁C▁错误。

A.数组下标越界

B.算术溢出

C.内存泄露

D.非法的方法参数

3.有三种原因可以导致线程不能运行,它们是▁ACD▁▁。

A.等待

B.阻塞

C.休眠

D.挂起及由于I/O操作而阻塞

4.当▁A方法终止时,能使线程进入死亡状态。

A.run

B.setPrority

C.yield

D.sleep

5.用▁B▁方法可以改变线程的优先级。

A.run

B.setPrority

C.yield

D.sleep

6.线程通过▁C▁方法可以使具有相同优先级线程获得处理器。

A.run

B.setPrority

C.yield

D.sleep

7.线程通过▁D▁方法可以休眠一段时间,然后恢复运行。

A.run

B.setPrority

C.yield

D.sleep

8.方法resume()负责重新开始▁D▁线程的执行。

A.被stop()方法停止

B.被sleep()方法停止

C.被wait()方法停止

D.被suspend()方法停止

9.▁BCD▁方法可以用来暂时停止当前线程的运行。

A.stop()

B.sleep()

C.wait()

D.suspend()

三、简述题

1.简述程序、进程和线程之间的关系?什么是多线程程序?

答:程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,

它对应了从代码加载、执行到执行完毕的一个完整过程。这个过程也是进程本身从产生、发

展、到消亡的过程。线程是比进程更小的单位。一个进程在其执行过程中,可以产生多个线

程,形成多个执行流。每个执行流即每个线程也有它自身的产生、存在和消亡的过程,也是

一个动态的概念。多线程程序是指一个程序中包含多个执行流。

2.线程有哪几个基本状态?它们之间如何转化?简述线程的生命周期。

答:新建状态,可运行状态,运行状态,阻碍状态,终止状态。对线程调用各种控制方法,

就使线程从一种状态转换到另一种状态。线程的生命周期从新建开始,在可运行、运行和其

他阻碍中循环,在可运行、运行、对象锁阻塞、等待阻塞中循环,最终在运行后run()方法

结束后终止。

3.什么是线程调度?Java的线程调度采用什么策略?

答:在单个CPU上以某种顺序运行多个线程,称为线程的调度。Java的线程调度策略是一

种优先级的抢先式调度。Java基于线程的优先级选择高优先级的线程进行运行。该线程将持

续运行,直到它终止运行,或其他高优先级线程称为可运行的。

4.如何在Java程序中实现多线程?

答:1:通过Thread类的构造方法

2:通过实现Runnable接口创建线程、

3:通过继承Thread类创建线程

5.试简述Thread类的子类或实现Runnable接口两种方法的异同?

答:采用继承Thread类方法使程序代码简单,并可以在run()方法中直接调用线程的其他

方法。而实现Runnable接口更符合面向对象设计的思想,因为从OO设计的角度,thread

类是虚拟CPU的封装,所以Thread的子类应该是关于CPU行为的类。但在继承Thread类

之类构造线程的方法中,Thread类的子类大都是与CPU不相关的类。而实现Runnable接口

的方法,将不影响Java类的体系,所以更加符合面向对象的设计思想。同时,实现了Runnable

接口的类可以用extends继承其他的类。

四、程序设计题

1.编写一个应用程序,

文档评论(0)

147****2279 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档