快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Java线程入门??定义线程中的 run 方式

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编程中的应用
    微笑服务 优质保证 索取样品