知识大全 Java 程序中的多线程(二)
Posted 知
篇首语:种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java 程序中的多线程(二)相关的知识,希望对你有一定的参考价值。
Java 程序中的多线程(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
作者 Neel V Kumar 使用 Java 编程语言实现线程 Java 编程语言使多线程如此简单有效 以致于某些程序员说它实际上是自然的 尽管在 Java 中使用线程比在其他语言中要容易得多 仍然有一些概念需要掌握 要记住的一件重要的事情是 main() 函数也是一个线程 并可用来做有用的工作 程序员只有在需要多个线程时才需要创建新的线程 Thread 类 Thread 类是一个具体的类 即不是抽象类 该类封装了线程的行为 要创建一个线程 程序员必须创建一个从 Thread 类导出的新类 程序员必须覆蓋 Thread 的 run() 函数来完成有用的工作 用户并不直接调用此函数 而是必须调用 Thread 的 start() 函数 该函数再调用 run() 下面的代码说明了它的用法 创建两个新线程 import java util *; class TimePrinter extends Thread int pauseTime; String name; public TimePrinter(int x String n) pauseTime = x; name = n; public void run() while(true) try System out println(name + : + new Date(System currentTimeMillis())); Thread sleep(pauseTime); catch(Exception e) System out println(e); static public void main(String args[]) TimePrinter tp = new TimePrinter( Fast Guy ); tp start(); TimePrinter tp = new TimePrinter( Slow Guy ); tp start(); 在本例中 我们可以看到一个简单的程序 它按两个不同的时间间隔( 秒和 秒)在屏幕上显示当前时间 这是通过创建两个新线程来完成的 包括 main() 共三个线程 但是 因为有时要作为线程运行的类可能已经是某个类层次的一部分 所以就不能再按这种机制创建线程 虽然在同一个类中可以实现任意数量的接口 但 Java 编程语言只允许一个类有一个父类 同时 某些程序员避免从 Thread 类导出 因为它强加了类层次 对于这种情况 就要 runnable 接口 Runnable 接口 此接口只有一个函数 run() 此函数必须由实现了此接口的类实现 但是 就运行这个类而论 其语义与前一个示例稍有不同 我们可以用 runnable 接口改写前一个示例 (不同的部分用黑体表示 ) 创建两个新线程而不强加类层次 import java util *; class TimePrinter implements Runnable int pauseTime; String name; public TimePrinter(int x String n) pauseTime = x; name = n; public void run() while(true) try System out println(name + : + new Date(System currentTimeMillis())); Thread sleep(pauseTime); catch(Exception e) System out println(e); static public void main(String args[]) Thread t = new Thread(new TimePrinter( Fast Guy )); t start(); Thread t = new Thread(new TimePrinter( Slow Guy )); t start(); 请注意 当使用 runnable 接口时 您不能直接创建所需类的对象并运行它 必须从 Thread 类的一个实例内部运行它 许多程序员更喜欢 runnable 接口 因为从 Thread 类继承会强加类层次 cha138/Article/program/Java/gj/201311/27431相关参考