对于线程的生命周期,下面四种说法正确的有哪些?(多选) ()
A. 调用了线程的start()方法,该线程就进入运行状态
B. 线程的run()方法运行结束或被强制终结,那么该线程进入死亡状态
C. 线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
D. 线程进入死亡状态后,调用它的start()方法仍然可以重新启动
建立线程的方法有()。
A. 使用Thread类的子类创建线程
B. 直接使用Thread类创建线程,但一般使用Thread类的Thread(Runnable target)构造方法创建
C. 直接使用实现Runnable接口的类创建线程
D. 直接使用实现Runnable接口创建线程
对于通过实现Runnable接口创建线程,下面说法正确的有哪些?(多选)()
A. 适合多个相同程序代码的线程去处理同一个资源的情况
B. 把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想
C. 可以避免由于Java的单继承带来的局限性
D. 编写简单,可以不通过Thread类直接创建线程
关于线程的创建过程,下面四种说法正确的有哪些?(多选)()
A. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C. 定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D. 定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法