1.线程(Thread)是指程序的运行流程。“多线程”的机制可以同时运行多个程序块,使程序运行的效率更高,也解决了传统程序设计语言所无法解决的问题。
2.如果在类里要激活线程,必须先做好下面两项准备:
(1)此类里必须是扩展自Thread类,使自己成为它的子类。
(2)线程的处理必须编写在run()方法内。
3.run()方法是定义在Thread类里的方法,因此把线程的程序代码编写在run()方法内,所作的就是覆写操作。
4.Runnable接口里声明了抽象的run()方法,因此必须在实现Runnable接口的类里明确定义run()方法。
5.Callable接口是JDK1.5之后添加的新的线程接口。利用次接口可以线程操作完毕返回相应的结果。
6.每一个线程,在其创建和消亡之前,均会处于创建、就绪、运行、阻塞、终止5种状态之一。
7.暂停状态的线程可有下列情况产生:
(1)该线程调用对象的wait()时。
(2)该线程本身调用sleep()时。
(3)该线程和另一个线程join()在一起时。
8.被冻结因素消失的原因有:
(1)如果线程是由调用对象的wait()方法所冻结。
(2)线程进入休眠(Sleep)状态,但指定的休眠时间到了。
9.当线程的run()方法运行结束,或是由线程调用它的stop()方法时,则线程进入消亡状态。
10.Thread类里的sleep()方法可用来控制线程的休眠状态,休眠时间要视sleep()里的参数而定。
11.要强制某一线程运行,可用join()方法。
12.join()方法会抛出InterruptedException的异常,所以编程时必须把join()方法编写在try······catch块内。
13.当多个线程对象操纵同一共享资源时,要使用synchronized关键字进行同步协调。