Thread类是java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例。
完成线程真正功能的代码放在类的run()方法中,然后同时调用Thread类中的start()方法执行线程,也就是调用run()方法。
Thread对象需要一个任务来执行,任务是指线程在启动时执行的工作,该工作的功能代码被写在run()方法中。run()方法必须使用一下语法格式:
注意:如果start()方法调用一个已将启动的线程,系统将抛出IllegalThreadStateException异常
当执行一个线程程序时,就自动产生一个线程,主方法正是在这个线程上运行的。当不再启动其他线程时,该程序就位单线程程序,主方法线程启动由Java虚拟机负责,程序员负责启动自己的线程。代码如下:
下面看一个继承Thread类的实例:
运行结果:
在上述实例中,继承了Thread类,然后类中覆盖了run()方法。通常在run()方法中使用无限循环的形式,使得线程一直运行下去,所以要指定一个跳出循环的条件,如本实例中的变量count递减为0作为跳出循环的条件。
在main方法中,使线程执行需要调用Thread类中的start()方法,start()方法调用被覆盖的run()方法,如果不调用start()方法,线程永远都不会启动,在主方法没有调用start()方法之前,Thread对象只是一个实例,而不是一个真正的线程。
相关文章: