快速业务通道

派生线程类 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

派生线程类

时间:2009-10-10

最简单的编写基于线程的代码的方法之一,就是派生java.lang.Thread 类。该线程类是java.lang 包的一个成员,在缺省情况下,线程类可以被所有的Java应用程序调用。为了使用线程类,我们需要了解The java.lang.Thread 类中定义的五个方法:

run():该方法用于线程的执行。你需要重载该方法,以便让线程做特定的工作。

start():该方法使得线程启动run()。

stop():该方法同start方法的作用相反,停止线程的运行。

suspend():该方法同stop方法不同的是,它并不终止未完成的线程,它仅仅挂起线程,以后还可恢复。

resume():该方法重新启动已经挂起的线程。

运行List A中的程序,运行结果见List B

List A :扩展线程类

class TestThreads { public static void main (String args []) { class MyThread extends Thread { String which; MyThread (String which) { this.which = which; } public void run() { int iterations = (int)(Math.random()*100) %15; int sleepinterval = (int)(Math.random()*1000); System.out.println(which + " running for " + iterations +" iterations"); System.out.println(which + " sleeping for " + sleepinterval + "ms between loops"); for (int i = 0; < iterations; i++) { System.out.println(which +" " + i); try { Thread.sleep(sleepinterval); } catch (InterruptedException e) {} } } } MyThread a = new MyThread("Thread A"); MyThread b = new MyThread("Thread B"); MyThread c = new MyThread("Thread C"); a.start(); b.start(); c.start(); } } ListB: 清单A的输出 Thread A running for 16 iterations Thread C running for 15 iterations Thread B running for 14 iterations Thread A sleeping for 305ms between loops Thread C sleeping for 836ms between loops Thread B sleeping for 195ms between loops Thread A 0 Thread C 0 Thread B 0 . . . Thread C 13 Thread B 13 Thread A 14 Thread C 14 Thread A 15

List A演示了如何从现有的Thread类中派生出一个新类。新创建的类重载了run 方法。有趣的是,实现run 方法不必很严格,因为Thread类提供一个缺省的run方法,尽管它不是特别有用。

在有些场合,我们不能简单地改变指定对象的父类。我们仍然需要采用线程。这时,我们就需要用到Runnable接口。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号