11.2.1 通过扩展Thread类创建线程
实现线程编程简单的途径就是通过继承java.lang.Thread类来自定义线程类。Thread类提供了7种重载的构造方法,分别是:
·Public Thread();
·Public Thread(Runnable target);
·Public Thread(Runnable target,String name);
·Public Thread(String name);
·Public Thread(ThreadGroup group,Runnable target);
·Public Thread(ThreadGroup group,String name);
·Public Thread(ThreadGroup group,Runnable taget,String name)。
在Thread类中重要方法run()是个空方法,即只有方法名的申明,而无方法体,但是该方法却是线程执行入口。所以,在继承了Thread之后,下一步必须覆盖run()方法。run()方法中的第一条语句将是新线程执行的第一条语句。线程执行的每条语句都包含在run()方法中,或者包含在run()方法直接或间接调用的其他方法中。在从刚刚调用run()之时到run()刚刚返回之时,新线程看成是存活的,run()方法返回后,该线程消亡。线程消亡后就不能重新启动。
【例11-1】 本线程完成在显示器上输出10次“新线程”的任务。
改写例11-1:使运行main方法时,开启3个输出线程,并且对每个线程进行命名,输出结果如:“线程1:累计输出1次”。
【例11-2】 以1~30累加为例,首先定义共享资源(即计数),通过Thread类完成定义累加线程:
下面通过3个线程对象,同时进行累加:
程序运行结果:
改写例11-2:模仿本例,编写计算1~1 000的累加和。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。