admin 管理员组文章数量: 1087139
2024年3月13日发(作者:三角函数值大全表图 表格)
一. 选择题
1.
下列说法中错误的一项是(
A
)
A.
B.
线程是一个程序的单个执行流
线程就是程序
B.
多线程是指一个程序的多个执行流
D.
多线程用于实现并发
2.
下列哪个方法可以使线程从运行状态进入阻塞状态(
A
)
A.
sleep
3.
下列说法中错误的一项是(
D
)
A.
一个线程是一个
Thread
类的实例
B.
线程从传递给纯种的
Runnable
实例
run()
方法开始执行
C.
线程操作的数据来自
Runnable
实例
D.
新建的线程调用
start()
方法就能立即进入运行状态
4.
下列关于
Thread
类提供的线程控制方法的说法中,错误的一项是(
C
)
A.
在线程
A
中执行线程
B
的
join()
方法,则线程
A
等待直到
B
执行完成
B.
线程
A
通过调用
interrupt()
方法来中断其阻塞状态
C.
若线程
A
调用方法
isAlive()
返回值为
true
,则说明
A
正在执行中
D.
currentThread()
方法返回当前线程的引用
5.
下列说法中,错误的一项是(
B
)
A.
对象锁在
synchronized()
语句执行完之后由持有它的线程返还
B.
对象锁在
synchronized()
语句中出现异常时由持有它的线程返还
C.
当持有锁的线程调用了该对象的
wait()
方法时,线程将释放其持有的锁
D.
当持有锁的线程调用了该对象的构造方法时,线程将释放其持有的锁
6
.建立文件
""
的字节输入流的语句是:(
A
)
A. InputStream in=new FileInputStream("");
B. FileInputStream in=new FileInputStream(new File(""));
C. InputStream in=new FileReader("");
7
.下列创建
InputStreamReader
对象的方法中哪些是正确的方法?
ABC
A. new InputStreamReader(new FileInputStream(“data”));
B. new InputStreamReader(new FileReader(“data”));
C. new InputStreamReader(new BufferedReader(“data”));
D. new InputStreamReader(“data”);
E. new InputStreamReader();
8.
下面的说法不正确的是(
D
)。
A) InputStream
与
OutputStream
类通常是用来处理字节流,也就是二进制文件。
B) Reader
与
Writer
类则是用来处理字符流,也就是纯文本文件。
C) Java
中
IO
流的处理通常分为输入和输出两个部分。
D) File
类是输入
/
输出流类的子类。
二.填空题
1.
在操作系统中,被称做轻型的进程是
线程
2.
多线程程序设计的含义是可以将一个程序任务分成几个并行的
线程
4 .
多个线程并发执行时,各个线程中语句的执行顺序是
有先后
的,但是
线程之间的相对执行顺序是
随机
的
中的对象锁是一种独占的
同步监视器
锁
7.
程序中可能出现一种情况:多个线种互相等待对方持有的锁,而在得到对方的锁
之前都不会释放自己的锁,这就是
死锁
8.
线程的优先级是在
Thread
类的常数
MIN_PRIORITY
和
MAX_PRIORITY
之间的一个值
9.
处于新建状态的线程可以使用的控制方法是
继承
Thread
类
和
实
现
Runnable
接口
。
10.
一个进程可以包含多个
线程
三.简答题
1.说明几个概念: 对象锁(同步监视器)、sleep、wait、notify、notifyAll
对象锁:保证同一时刻只能有一条线程处于临界区内,保证线程安全性;
Sleep:让正在执行的线程暂停一段时间,并进入阻塞状态
Wait:导致当时线程等待,直到其它线程唤醒它
Notify:唤醒在此同步监视器上等待的单线程;
notifyAll:唤醒在此同步监视器上等待的全部线程
2. java
中有几种方法可以实现一个线程?用什么关键字修饰同步方法
? S
两种
1.
继承
Thread
类
2.
实现
Runnable
接口
。
Synchronized(object)
3. sleep()
和
wait()
有什么区别
?
Sleep让正在执行的线程暂停一段时间,并进入阻塞状态不需要其它线程唤醒它
Wait
导致当时线程等待,直到其它线程唤醒它,并没有进入阻塞状态
5.
启动一个线程是用
run()
还是
start()?
Start()
版权声明:本文标题:java多线程试题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1710276792a565712.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论