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