j2me中实现多线程技术总结

j2me中实现多线程技术总结

ID:32820994

大小:54.78 KB

页数:4页

时间:2019-02-16

j2me中实现多线程技术总结_第1页
j2me中实现多线程技术总结_第2页
j2me中实现多线程技术总结_第3页
j2me中实现多线程技术总结_第4页
资源描述:

《j2me中实现多线程技术总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、J2ME中实现多线程技术总结我们知道,在操作系统级别上软件的运行一般都是以进程为单位,而在每个进程的运行过程中允许同时并发执行多个不同线程,这就使得一个程序能同时执行不同的操作。使用多线程的冃的是为了最大限度地利用计算机CPU资源。JAVA程序字节码最终是在JVM虚拟机下运行的,同一虚拟机进程屮的不同操作都是通过多线程来运行的。在JAVA虚拟机屮,线程常用有单线程和多线程,单线程指程序执行过程只是一个有效操作的序列,不同操作都有着明确的先后顺序;而多线程允许同时进行着不同的操作,这些不同的操作同时并发进行着,并由CPU时钟频率根据不同的调度方式对他们进行执行

2、调度。在JAVA语言中提供了丰富的多线程操纵接口,提供了各类不同的线程实现方法供我们选择,功能非常强大。在手机软件设计中,山于同样需要执行网络连接(基于HTTP的高级Internet协议通讯)、U1调度等待、UI显示幻化、游戏控制等操作需要通过后台的数据运算或UI不断更新等操作。因此在J2ME中,KVM虚拟机也提供了功能强大的多线程API,使我们同样能在J2ME中实现线程的并发运算。在J2ME中,主要有以下三种方法实现多线程。一、继承Thread类(java.lang.Thread)通过编写线程类继承Thread类并重写Thread类中的nm()方法实现线程

3、,当线程对象被运行时候将会自动执行run方法中的实体内容,从而开辟一个单独的线程并运行起来。女口:publicclassThreadSimpleextendsThread{publicThreadsimple(){//constructor1publicvoidrun(){//runcodeentity}}线程实例使用,直接创建对象并调用start()方法即可运行线程。newThreadSimple()。start();当执行start方法时候,将会自动运行nm方法,但是执行start方法时候只做了一件事,就是将线程转化为可执行状态,然后等待操作系统进行调度

4、并运行,因此无法保证线程能立即启动。在JAVA中,Thread类实现了Runnable接口,因此run方法是通过实现接口Runnable中的抽象方法。二、直接实现Runnable多线程接口(java.lang.Runnable)线程接口Runnable屮只有一个抽彖方法run,通过实现Runnable接口中的方法的类即可创建出有多线程特征的对象,但该对象并无法使其启动线程,需要作为参数并借助Thread的构造方法构造创建对象并调用start方法对线程进行启动。女Fl:publicclassRunnablSimpleimplementsRunnable{pub

5、licRunnableSimple(){//constructor}publicvoidrun(){//runcodeentity}实现类型的对彖使用:RunnableSimplers=newRunnableSimple();newThread(rs).start();由此可见,以上两种方法都是通过Thread的start来启动线程的,实际上所有的线程操作都是封装在Thread这个类屮,由Thread对象调用各种接口来控制线程。J2ME中线程中主要方法:voidselPriority(intnewPriority),设置线程优先级,在操作系统中线程的调度是不

6、确定性的,可以通过该方法设置相应线程的优先级别。staticvoidsleep(longmillis),线程中静态方法,用于让线程进入休眠状态,执彳亍该方法将会让线程在指定时间millis毫秒内休眠。voidstart(),使现在进入可执行状态。voidrun(),线程执行主体。voidjoin(),等待该线程终止。booleanisAlivc(),用于判断线程是否出于Alive状态。staticvoidyield(),尽量让其他线程先执行。三、使用任务组合实现多线程在J2ME中,同样具有JAVA中的任务处理组合类,他们分别为Timer和TimerTask,

7、可以使用他们实现多线程,简单说就是定时实现任务。Timer是JAVA中的-个定时器,可以实现在某一时间做某件事或者在某一时间段做某些事,分别通过方法schedule(TimerTasktt,longmillis)和schedule(TimerTasktt,longstart,longoff)。TimerTask是一个任务类,通过继承该类并覆盖方法run即可创建一个任务。如I:publicclassTimerTaskSextendsTimerTask{publicTimerTaskS(){//constructor1publicvoidrun(){//runc

8、odeentity}}任务调用:Timertimer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。