多线程常见面试题及答案(Word版)(权威推荐).docx

多线程常见面试题及答案(Word版)(权威推荐).docx

多线程常见面试题及答案(Word版)(权威推荐)

一、单选题(共10分)

1.在Java中,一个线程处于“就绪”状态,意味着它已经获得了CPU使用权,正在执行其run()方法。(2分)

答案:错误。在Java中,线程状态分为新建、就绪、运行、阻塞、等待、计时等待和终止。处于“就绪”状态的线程已经获得了CPU时间片,正在执行run()方法,这通常被称为“运行”状态。如果线程刚刚调用start()方法,它处于“就绪”状态,等待CPU调度。

2.下列关于volatile关键字的描述,正确的是?(2分)

答案:volatile关键字可以保证变量的可见性,即当一个线程修改了volatile变量的值,新值会立即对其他线程可见,但volatile关键字不保证原子性,也不保证线程安全。

3.在Java并发包(JUC)中,ReentrantLock类与synchronized关键字的主要区别不包括以下哪一项?(2分)

答案:ReentrantLock类可以手动释放锁,而synchronized关键字会自动释放锁。其他区别包括:ReentrantLock是可中断的,支持公平锁,支持多个Condition等。

4.线程池中,当线程数大于核心线程数,且任务队列已满时,线程池会采取什么策略?(2分)

答案:当线程数大于核心线程数且任务队列已满时,如果线程数小于最大线程数,则创建新线程处理任务;如果线

文档评论(0)

1亿VIP精品文档

相关文档