(娱乐)关于Java多线程系统的判断题

来源:互联网 发布:好用的电磁炉推荐 知乎 编辑:程序博客网 时间:2024/05/19 17:02

题目和解答来自《图解Java多线程设计模式》,作者是结城浩。
(1)在Java程序运行过程中,至少有一个线程在运行。
对,因为当所有线程都终止时,程序才会终止。
(2)调用Thread类的run()方法后,新的线程就会启动。
错,启动线程应当使用Thread类的start()方法。
(3)start()方法和run()方法声明在Runnable接口中。
错,start()方法声明在Thread类中,run()方法声明在Runnable接口中,Thread实现了Runnable接口。
(4)多个线程可能会调用同一个实例的方法。
对,这也是为什么需要进行多线程设计的原因。
(5)多个线程可能会调用Thread类的一个实例的方法。
对,Thread类的实例本质上和其他类并没有不同。
(6)Thread.sleep()方法执行后,在指定时间内所有线程都会暂停。
错,暂停的只有调用sleep()的线程,即当前线程。
(7)某个线程运行synchronized方法时,其他所有线程都会停止运行。
错,只会导致其他想要这个对象的锁的线程。
(8)执行Thread.sleep()方法后的线程仅在指定时间内待在等待队列中。
错,sleep()方法不会导致线程进入等待队列。
(9)wait()方法的调用语句必须写在synchronized方法中。
错,还可以写在synchronized同步块中,以及它们内部调用的任何方法中,只要在调用时获得了锁即可。
(10)notifyAll()方法是Object类的实例方法。
对,wait(),notify(),notifyAll()都是Object类的实例方法。

原创粉丝点击