⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metthodtimes.java

📁 J2ME 无线通信技术应用开发源代码
💻 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 + -