|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
run 方式是运行线程时需要执行的代码。(你要用代码――也就是 run() 方式――来描述一个处理过程,而不是创建一个表示这个处理过程的对象。在如何理解线程方面,一直存在着争议。这取决于,你是将线程看作是对象还是处理过程。假如你认为它是一个处理过程,那么你就挣脱了“万物皆对象”的 OO 教条。但与此同时,假如你只想让这个处理过程掌管程序的某一部分,那你就没理由让整个类都成为 Runnable 的。有鉴于此,用内部类的形式将线程代码隐藏起来,通常是个更明智的选择。来自TIJ3。) 在 Java 语言中,我们可以通过下列两种方法来实现我们的run 方式: 1、覆盖 java.lang.Thread 的 public void run() 方式。 public class SimpleThread extends Thread { public SimpleThread(String str) { super(str); } public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + " " + getName()); try { sleep((long) (Math.random() * 1000)); } catch (InterruptedException e) { } } System.out.println("DONE! " + getName()); } } 调用上面定义的线程: public class TwoThreadsDemo { public static void main(String[] args) { new SimpleThread("Jamaica").start(); new SimpleThread("Fiji").start(); } } 2、实现 java.lang.Runnable 接口: import java.awt.Graphics; import java.util.*; import java.text.DateFormat; import java.applet.Applet; public class Clock extends Applet implements Runnable { private Thread clockThread = null; public void start() { if (clockThread == null) { clockThread = new Thread(this, "Clock"); clockThread.start(); } } public void run() { Thread myThread = Thread.currentThread(); while (clockThread == myThread) { repaint(); try { Thread.sleep(1000); } catch (InterruptedException e) {} } } public void paint(Graphics g) { Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); DateFormat dateFormatter = DateFormat.getTimeInstance(); g.drawString(dateFormatter.format(date), 5, 10); } public void stop() { clockThread = null; } } 返回类别: 教程 上一教程: Java中文问题及最优解决方式 下一教程: 虚拟机概论(八)??UNIX虚拟机模型 您可以阅读与"Java线程入门??定义线程中的 run 方式"相关的教程: · Java多线程中的两个问题 · Java 线程入门??线程的同步 · Java线程入门??什么是线程 · JAVA基本教学:线程入门 · Vector在Java编程中的应用 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |