一、概念
Java语言提供并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。
Windows操作系统是多任务操作系统,它以进程为单位,一个进程是一个包含有自身地址的程序,每个独立执行的程序都被称为进程,也就是正在执行的程序。
一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。在单线程中,程序代码按调用顺序依次往下执行,如果需要一个进程同时完成多段代码的操作,就需要产生多线程。
二、实现线程的两种方式
1、继承Thread类
Thread类是java.lang中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例。
(1)Thread类中常用的两个构造方法:
public Thread(String threadName):创建一个名称为threadName的线程对象
public Thread()
(2)完成线程真正功能的代码放在类的run()方法中,当一个类继承Thread类后,就可以在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread类中的start()方法执行线程,也就是调用run()方法。
(3)Thread对象需要一个任务来执行,任务是指线程在启动时执行的工作,该工作的功能代码被下在run()方法中。
(4)当执行一个线程程序时,就自动产生一个线程,主方法正是在这个线程上运行的。当不再启动其他线程时,该程序就为单线程程序。主方法线性启动由Java虚拟机负责,程序员负责启动自己的线程。
public static void main(String[] args){
new ThreadTest().start();
}
2、实现Runnable接口
(1)实现Runnable接口的程序会创建一个Thread对象,并将Runnable对象与Thread对象相关联。
(2)Thread类中有两个构造方法
public Thread(Runnable r)
public Thread(Runnable