全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
J2ME 中实现多线程技术总结中实现多线程技术总结 我们知道 在操作系统级别上软件的运行一般都是以进程为单位 而在每个进程的运行过程中 允许同时并发执行多个不同线程 这就使得一个程序能同时执行不同的操作 使用多线程的目 的是为了最大限度地利用计算机 CPU 资源 JAVA 程序字节码最终是在 JVM 虚拟机下运行的 同一虚拟机进程中的不同操作都是通过多线程来运行的 在 JAVA 虚拟机中 线程常用有单线 程和多线程 单线程指程序执行过程只是一个有效操作的序列 不同操作都有着明确的先后顺 序 而多线程允许同时进行着不同的操作 这些不同的操作同时并发进行着 并由 CPU 时钟频 率根据不同的调度方式对他们进行执行调度 在 JAVA 语言中提供了丰富的多线程操纵接口 提供了各类不同的线程实现方法供我们选 择 功能非常强大 在手机软件设计中 由于同样需要执行网络连接 基于 HTTP 的高级 Internet 协议通讯 UI 调度等待 UI 显示幻化 游戏控制等操作需要通过后台的数据运算或 UI 不断更新等操作 因此在 J2ME 中 KVM 虚拟机也提供了功能强大的多线程 API 使我们 同样能在 J2ME 中实现线程的并发运算 在 J2ME 中 主要有以下三种方法实现多线程 一 继承一 继承 Thread 类 类 java lang Thread 通过编写线程类继承 Thread 类并重写 Thread 类中的 run 方法实现线程 当线程对象被 运行时候将会自动执行 run 方法中的实体内容 从而开辟一个单独的线程并运行起来 如 public class ThreadSimple extends Thread public ThreadSimple constructor public void run run code entity 线程实例使用 直接创建对象并调用 start 方法即可运行线程 new ThreadSimple start 当执行 start 方法时候 将会自动运行 run 方法 但是执行 start 方法时候只做了一件事 就是将线程转化为可执行状态 然后等待操作系统进行调度并运 行 因此无法保证线程能立即启动 在 JAVA 中 Thread 类实现了 Runnable 接口 因此 run 方 法是通过实现接口 Runnable 中的抽象方法 二 直接实现二 直接实现 Runnable 多线程接口 多线程接口 java lang Runnable 线程接口 Runnable 中只有一个抽象方法 run 通过实现 Runnable 接口中的方法的类即可创 建出有多线程特征的对象 但该对象并无法使其启动线程 需要作为参数并借助 Thread 的构造 方法构造创建对象并调用 start 方法对线程进行启动 如 public class RunnablSimple implements Runnable public RunnableSimple constructor public void run run code entity 实现类型的对象使用 RunnableSimple rs new RunnableSimple new Thread rs start 由此可见 以上两种方法都是通过 Thread 的 start 来启动线程的 实际上所有的线程操作 都是封装在 Thread 这个类中 由 Thread 对象调用各种接口来控制线程 J2ME 中线程中主要方法 void setPriority int newPriority 设置线程优先级 在操作系统 中线程的调度是不确定性的 可以通过该方法设置相应线程的优先级别 static void sleep long millis 线程中静态方法 用于让线程进入休眠状态 执行该方法 将会让线程在指定时间 millis 毫秒内休眠 void start 使现在进入可执行状态 void run 线程执行主体 void join 等待该线程终止 boolean isAlive 用于判断线程是否出于 Alive 状态 static void yield 尽量让其他线程先执行 三 使用任务组合实现多线程三 使用任务组合实现多线程 在 J2ME 中 同样具有 JAVA 中的任务处理组合类 他们分别为 Timer 和 TimerTask 可以 使用他们实现多线程 简单说就是定时实现任务 Timer 是 JAVA 中的一个定时器 可以实现在某一时间做某件事或者在某一时间段做某些 事 分别通过方法 schedule TimerTask tt long millis 和 schedule TimerTask tt long start long off TimerTask 是一个任务类 通过继承该类并覆盖方法 run 即可创建一个任务 如 public class TimerTaskS extends TimerTask public TimerTaskS constructor public void run run code entity 任务调用 Timer timer new Timer 3 秒钟后执行任务 timer schedule new TimerTaskS 3000 3 秒钟后执行任务并且之后每 5 秒钟执行一次 timer schedule new TimerTaskS 3000 5000 有此可见在使用计时任务可以达到实现线程的效果 分别执行不同的并发操作 通过 Timer 类对象来操作 TimerTask 对象 通过 schedule 方法来计时执行任务 在结束任务的时候 通常使用 cancel 来实现 通常情况下 在 J2ME 软件中我们通过手机按键来触发一系列相应的操作 在程序响应处 理过程中较多会涉及网络操作 数据存储等相对消耗时间和资源的操作 而这些操作往往需要 一定的时间才能完成 因此在处理按键响应过程中通常我们需要建立线程处理 避免程序出现 死机现象 public void commandAction Command c Displayable s if c do1Com 创建实现接口线程 new Thre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026疫苗冷链运输实时监控系统精度提升与成本报告
- 2026疫苗企业研发投入产出比与创新效率对标研究报告
- 2026中国区域市场饮料消费差异与渠道下沉机会报告
- 2026中国柔性显示材料产业链协同发展与市场规模预测
- 2026储能变流器行业竞争态势分析及投资可行性评估报告
- 2026能源传统能源行业市场分析及投资评估报告
- 2026中国医疗RFID技术应用场景扩展与成本分析报告
- 2026中国碳纤维及其复合材料市场渗透率提升策略研究
- 2026中国光刻胶化学品技术壁垒突破与国际竞争力评估
- 2026区块链技术在金融领域的应用与市场前景预测报告
- 2026青岛胶州市中云街道办事处面向社会公开招聘非在编工作人员笔试参考题库及答案解析
- 2026年上海市普通高校统一文化考试试卷(全科含详细答案解析)
- 2026年度反洗钱阶段考试培训试考试题库(含答案)
- 三类医疗器械许可证考题库(附答案)
- 【沪教版必修第一册】高一数学第4章幂函数、指数函数与对数函数(单元复习课件)
- 饮用水微生物污染全流程防控方案
- 2025年西部天然气招聘笔试题目及答案
- 2025年公安最美家庭先进事迹材料范文
- 低压电工专业知识培训课件
- 2025秋新人教版八上数学教学设计-14.2《三角形全等的判定(第5课时 HL)》(教学设计)
- 快乐购物 3 模拟购物(课件)数学冀教版二年级上册
评论
0/150
提交评论