📄 metthodtimes.java
字号:
//程序名MetthodTimes.java
import javax.microedition.midlet.*;
/**
* 这是一个简单的MIDlet例子,用来简单的测试运行时间。
* 当它被应用程序管理软件启动时,它会
* 生成一个单独的线程,然后测试这个线程的运行时间。
* 当它运行完成后,它会通知应用程序管理软件,
* 告诉应用程序管理软件它已经运行完毕。
* 请留意startApp、pauseApp和destroyApp这三个方法,
* 看它们是如何进行状态转换请求的
*/
public class MethodTimes extends MIDlet implements Runnable {
// 用于计时的线程
Thread thread;
/**
* 开始生成这个线程。
* 它会立即返回,
* 并保持分派器挂起状态
*/
public void startApp() {
thread = new Thread(this);
thread.start();
}
/**
* Pause信号通知线程暂停,暂停线程的方法是清除线程资源。
* 如果线程还没有运行完成一个周期,
* 应该在下次运行时重新生成并启动
*/
public void pauseApp() {
thread = null;
}
/**
* 发出Destroy的信号,必须清除任何资源,
* 线程被信号通知终止,不会产生任何结果
*/
public void destroyApp(boolean unconditional) {
thread = null;
}
/**
* 运行这个计时测试线程,
* 测量它调用一个空方法1000次会占用多长时间
* 在for循环中测试thread == curr,
* 意思是如果线程不存在了,则提前终止这个循环
*/
public void run() {
Thread curr = Thread.currentThread(); // Remember which thread is current
long start = System.currentTimeMillis();
for (int i = 0; i < 1000000 && thread == curr; i++) {
empty();
}
long end = System.currentTimeMillis();
// 检查计时过程是否受到干扰,如果有则退出
// 应用程序剩下的部分已经变成静止的了
if (thread != curr) {
return;
}
long millis = end - start;
// 报告运行的时间
System.out.println("The elapsed time is : "+millis);
// 完成清除工作并销毁
destroyApp(true);
notifyDestroyed();
}
/**
* 一个空的方法
*/
void empty() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -