一、选择题

1.有三种原因可以导致线程不能运行,它们是▁ABC。
A.等待
B.阻塞
C.休眠
D.挂起及由于I/O操作而阻塞

2.当A▁方法终止时,能使线程进入死亡状态。
A.run
B.setPrority//更改线程优先级
C.yield//暂停当前线程的执行 执行其他线程
D.sleep//线程休眠

3.用▁B方法可以改变线程的优先级。
A.run
B.setPrority
C.yield
D.sleep

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

A.run
B.setPrority
C.yield
D.sleep

5.以下说法错误的是?(选择一项)D
A wait()方法用于使线程等待
B notify()方法用于唤醒一个线程
C notifyAll()方法用于唤醒多个线程
D 使用wait()方法阻塞的线程,可以不用唤醒

6.关于线程的状态和生命周期的说法,正确的是?(AB)

A 只有获取到CPU的使用权,线程才能从可运行状态转为正在运行状态
B 调用start()方法可以使线程处于可运行状态
C 如果正在运行的线程异常终止,则线程会处于阻塞状态
D 一个正在运行的线程,调用join()方法,则会处于终止状态

7.以下说法错误的是?(选择一项)D
A sleep方法的参数是以毫秒为单位的
B 使用实现Runnable接口的方式创建线程,一定要重写run方法
C 当创建线程对象,线程即进入创建状态
D 调用sleep方法时,不需要处理异常

8.下列说法正确的是(B)(选择一项)
A 设置优先级的方法为public int setPriority(int n)
B 优先级可用1-10的整数表示
C 获取优先级的方法是public void getPriority( )
D 在Java中,优先级高的线程一定会比优先级低的线程先运行

9.关于下列代码,说法正确的是(D)(选择一项)
在这里插入图片描述

A
运行结果为:
在这里插入图片描述

B
运行结果为:
在这里插入图片描述
C 编译错误,sleep( )方法不能写在run( )方法体中
D 编译错误,调用sleep()方法时需要捕获异常

10 运行下列代码,结果是(BC)(选择两项)
在这里插入图片描述

A
在这里插入图片描述

B
在这里插入图片描述

C
在这里插入图片描述

D
在这里插入图片描述

11 下列对关键字synchronized说法不正确的是(C)(选择一项)

A synchronized(同步),即协调不同线程之间的工作
B synchronized关键字可以用在成员方法中
C 保证多个线程可以同时执行和结束
D 保证共享对象在同一时刻只能被一个线程访问


版权声明:本文为weixin_42773097原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42773097/article/details/112852459