图形图像 多媒体类 机械电子 办公系列 程序设计 网站开发 数据库教程 路由技术 网络原理 网络应用 考试认证
手机分类
  网站导航: 电脑时代在线 · 程序设计 · Java语言 · Java J2ME

在J2ME里面运用Timer和TimerTask来完成多线程

手机资讯
『在J2ME里面运用Timer和TimerTask来完成多线程』如果文章中有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 来源:无 更新时间:2006-1-18 

众所周知,Java语言在语言的低层就支持多线程,在Java中可以使用两种方式来实现多线程操作,这两种方式依次是:

1、继承Thread类

2、实现Runnable接口

但是Java语言中还有两个类,可以组合来实现多线程的控制,这两个类就是java.util包中的Timer和TimerTask类。和上面的实现方式相比,使用这种方式来实现多线程,可以很方便的开启多个线程,并且代码的结构比较清晰,但是创建类的数量比较多,系统开销稍微大一些。下面详细进行一下介绍:

Timer类是一个定时器,可以每隔一段固定的时间做一件事情,而且可以很方便的停止这些动作。依次为:

构造对象: Timer timer = new Timer();

对象创建以后,可以使用其中的schedule或者是scheduleAtFixedRate方法起启动一个任务(Task)动作。需要停止时,可以调用Timer对象的cancel方法实现,该方法可以停止该Timer启动的所有任务(Task)。

TimerTask类是一个线程类,所有线程的动作代码都写在该类内部。TimerTask是一个抽象类,在实际使用过程中,一般是继承TimerTask类,然后实现实际的操作,停止TimerTask可以使用TimerTask对象里面的cancel方法。

下面是一个实现简单的数字变化的J2ME代码:

package shandong;

import java.util.*;

import javax.microedition.lcdui.*;

/**

* 使用Timer和TimerTask实现多线程

* 该代码实现的功能是屏幕上的数字一直增加,按下5键暂停,再次按下5键继续增加

*/

public class NumberCanvas extends Canvas {

/**定时器*/

Timer timer;

/**屏幕上显示的数字*/

private int number = 0;

/**屏幕宽度*/

private int width;

/**屏幕高度*/

private int height;

public NumberCanvas() {

//获得屏幕的高度和宽度

width = this.getWidth();

height = this.getHeight();

//启动线程

start();

}

/**

* 启动线程

*/

private void start(){

if(timer == null){

//启动定时器

timer = new Timer();

timer.schedule(new NumberTimerTask(),0,300);

}

}

/**

* 停止线程

*/

private void stop(){ if(timer != null){

//停止线程

timer.cancel();

timer = null;

}

}

/**

* 按键处理

* @param keyCode int 按下的键值

*/

public void keyPressed(int keyCode){

//判断按下的数字键5

if(keyCode == Canvas.KEY_NUM5){

//判断当前的状态

if(timer == null){

start();

}else{

stop();

}

}

}

protected void paint(Graphics g) {

//清屏

g.setColor(0xffffff);

g.fillRect(0,0,width,height);

g.setColor(0x000000);

g.drawString(String.valueOf(number),50,50,Graphics.TOP | Graphics.LEFT);

}

/**

* 线程任务动作

*/

public class NumberTimerTask extends TimerTask{

public void run(){

//数字增加

number++;

//重绘

repaint();

}

}

}



】【关闭窗口
  上一页:
  下一页:
 ·网站导航: 电脑时代在线 · 程序设计 · Java语言 · Java J2ME
Java J2ME:相关文章
Java J2ME点击榜
推荐教程Sybase:在“移动”里面成长
推荐教程Java ME下设计之JMUnit篇(1)
推荐教程J2ME游戏设计地高级优化灵活技术
推荐教程用NetBeans平台设计J2ME游戏实际
推荐教程掌上游戏机设计指南——GBA程序
推荐教程Java里面运用通讯API设计短信软
推荐教程在J2ME编制程序里面运用Nokia地
推荐教程Java游戏编制程序读书笔记(1)
推荐教程端到端J2ME运用设计实际示例——
推荐教程用MIDP2.0新功能完成定制化窗体
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
Java J2ME推荐图片
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2009 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by PCX. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光