今天,给大家出8道多线程相关的面试题,作为自测
欢迎大家留下你的答案
来吧,题目如下:
问题1:当一个线程调用sleep()方法后会发生什么?
A. 线程立即停止运行
B. 线程转为等待状态并在指定时间后自动恢复运行
C. 线程变为阻塞状态,需其他线程唤醒
D. 线程立刻释放CPU并销毁
问题2:以下哪个关键字可以确保共享资源
在同一时刻只被一个线程访问?
A. transient
B. synchronized
C. volatile
D. static
问题3:以下哪个类是用于实现定时任务
和周期性任务的工具类?
A. Thread
B. Runnable
C. Timer
D. ExecutorService
问题4:哪个方法用来启动一个线程?
A. start()
B. run()
C. init()
D. new()
问题5:关于volatile关键字的作用,
以下描述正确的是?
A. 确保变量在线程之间的可见性
B. 保证对变量的操作具有原子性
C. 代替synchronized进行线程间同步
D. 使线程进入等待状态
问题6:以下哪个接口是用来创建
有返回值的线程的?
A. Runnable
B. Thread
C. Callable
D. FutureTask
问题7:在Java中,wait(), notify(),notifyAll()
这些方法必须在哪种类型的对象上调用?
A. Thread
B. Object
C. String
D. Runnable
问题8:关于线程的生命周期,
以下哪种说法是正确的?
A. 新建 -> 运行 -> 阻塞 -> 死亡
B. 新建 -> 就绪 -> 运行 -> 阻塞/等待 -> 死亡
C. 创建 -> 初始化 -> 执行 -> 终止
D. 启动 -> 等待 -> 获取CPU -> 运行 -> 结束
欢迎写下你的答案,2024让我们一起努力,变得更好!
也欢迎来加入我的知识星球,干货更多,敢承诺三天内体验不满意,直接退出即可