`
diy8187
  • 浏览: 79590 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Thread类-Flash中的线程概念

阅读更多
在最近Flash开发过程中,发现定时运行函数(setInterval)使用频率非常高,但这个方法用多了就比较混乱,不易管理,就要更好的方法了。然后我和同事商讨一个比较好的解决方案。我们就发现Java中线程是比较好的方法,于是我们就参照Java的Thread类,就写一个Flash的Thread类,这个类调用起来多了一两行代码,但是比较好控制和管理。和Java中Thread类非常相似。今天我也把它贴出来,希望对大家有一些帮助!

以下是Thread.as代码片段:
这个类不需要改直接使用;
/*
*Name:Thread.as
*Auther:Kinglong
*Email:kinglong@gmail.com
*Date:2005-04-20
*Desc:
*线程的基类;
*/
classcom.klstudio.util.ThreadextendsObject{
privatevar__mar:Number;
privatevar__sleep_time:Number;
functionThread(sleepTime:Number){
if(sleepTime==undefined){
this.__sleep_time=50;
}else{
this.__sleep_time=sleepTime;
}
}
privatefunctiondoRun():Void{
this.run();
}
publicfunctionrun():Void{
}
publicfunctionstart():Void{
this.__mar=setInterval(this,"doRun",this.__sleep_time);
}
publicfunctionstop():Void{
clearInterval(this.__mar);
}
publicfunctionsetSleepTime(sleepTime:Number):Void{
this.__sleep_time=sleepTime;
}
publicfunctiongetSleepTime():Number{
returnthis.__sleep_time;
}
}

以下是testThread.as代码片段:
importcom.klstudio.util.Thread;
classtestThreadextendsThread{
privatevar__label_txt:TextField;
functiontestThread(){
super(1000);
this.init();
}
privatefunctioninit():Void{
_root.createTextField("label_txt",4,0,0,100,20);
this.__label_txt=_root["label_txt"];
this.initLabel();
this.start();
}
privatefunctioninitLabel():Void{
this.__label_txt.autoSize="left";
this.__label_txt.html=false;
this.__label_txt.textColor=0x000000;
this.__label_txt.wordWrap=false;
this.__label_txt.type="dynamic";
this.__label_txt.selectable=false;
}
privatefunctionrun():Void{
vartoday:Date=newDate();
varlbl:String=(today.getHours()<10?"0"+today.getHours():today.getHours())+":"+(today.getMinutes()<10?"0"+today.getMinutes():today.getMinutes())+":"+(today.getSeconds()<10?"0"+today.getSeconds():today.getSeconds());
this.__label_txt.text=lbl;
}
}

以下是Flash调用代码片段:
stop();
vartt:testThread=newtestThread();

分享到:
评论

相关推荐

    java语言学习-04 线程.pdf

    本章介绍了Java中的线程概念以及线程的基本创建方法。理解进程与线程之间的区别对于有效地利用多线程编程至关重要。接下来,我们还将继续探讨更多关于线程控制、同步机制等内容,帮助读者更深入地掌握Java多线程编程...

    Java编写线程动画

    总结来说,Java编写线程动画涉及的核心知识点包括:进程与线程的概念、Java中线程的创建方式、Swing和JavaFX等GUI库的使用、线程安全以及动画原理。理解并熟练掌握这些知识点,能帮助开发者构建出流畅、高效的线程...

    9. 多线程2.rar

    在IT行业中,多线程是程序设计中的一个重要概念,特别是在Java平台上,如J2ME(Java Micro Edition)的开发中。本教程将深入探讨多线程在J2ME中的应用和实现,帮助开发者掌握如何在有限的资源下,提高应用程序的效率...

    开放原子训练营(第三季)RT-thread Nano学习营 高熹

    在本次培训中,学习者可以了解 RT-Thread Nano 的基本概念和使用方法,包括如何设计和实现实时操作系统,如何使用 RT-Thread Nano 进行开发和测试等。 首先,RT-Thread Nano 是一个实时操作系统平台,由睿赛德科技...

    MFC_线程式界面

    在MFC中,线程(Thread)是程序执行的基本单元,而线程式界面则涉及到如何在一个程序中管理多个线程以及各自对应的用户界面。 在Windows操作系统中,每个用户界面(UI)通常由一个主线程负责,这个主线程创建窗口、...

    rtthread开发文档

    本文将详细探讨RT-Thread开发文档中提及的核心概念与编程知识。 ### RT-Thread软件结构 RT-Thread操作系统的软件结构由内核、设备驱动框架、组件与服务、用户应用程序四个层次构成。内核是系统的心脏,包括了线程...

    RT-Thread_LED_ZJU

    通过这个简单的例子,不仅可以学习到RT-Thread的基础知识,还能深入了解实时操作系统的一些关键概念和技术实现细节。 综上所述,RT-Thread作为一个轻量级、高效率的实时操作系统,在嵌入式领域有着广泛的应用前景。...

    Java新手上路Flash教程

    在Java的学习过程中,首先需要理解的是基本概念,如变量、数据类型、运算符和控制结构。变量是存储数据的容器,数据类型决定了变量可以存储的值的类型。Java有八种基本数据类型:整型(byte, short, int, long)、...

    RT-Thread-on-nucleoF401:在这里,我们为特殊目标NUCLEO STM32F401RE构建一个RT-Thread项目

    通过这个项目,开发者不仅能掌握RT-Thread在STM32上的应用,还能理解RTOS的基本概念和使用方法,包括线程管理、内存管理、中断服务等。同时,也会了解到STM32CubeMX的配置技巧以及如何将RTOS与微控制器的硬件资源相...

    C# FLV视频播放程序

    使用Thread或Task类可以实现多线程编程。 8. **异常处理**: - 在处理网络请求、文件读取、解码等过程中可能出现异常,良好的异常处理机制可以确保程序的稳定性和用户体验。 9. **调试与测试**: - 开发过程中,...

    cortex-m3学习笔记(STM32)

    Cortex-M3处理器有两种运行模式:**处理者模式(Handler Mode)**与**线程模式(Thread Mode)**。 1. **处理者模式**主要用于处理异常和中断服务程序(ISR)。当一个异常发生时,处理器会自动切换到处理者模式。 ...

    VB.net程序源码120实例(VS2013)

    在VB.NET中,可以使用`Thread`类创建和管理新的执行线程。 2. **声卡检测**:实例63教你如何检测计算机中的声卡。这涉及到Windows API调用和硬件信息的读取,通常需要使用P/Invoke技术来调用非托管代码。 3. **...

    JDK(Java Development Kit)

    5. **多线程**:包括Thread类和Runnable接口等,支持并发编程。 6. **网络编程**:如Socket类等,用于实现网络通信。 #### 五、JDK的发展历程与版本更新 自从1995年Sun Microsystems首次发布JDK以来,它已经经历了...

    超级Android深入浅出课程思维导图 sundy

    - **Android Thread**: Android中的多线程机制,包括Handler机制、AsyncTask类等,用于提高应用性能和响应速度。 ##### 3. Android系统架构 - **SHW110425_ᔰ൪խڳ䈮ࡽ߶༷**: 这部分内容可能是关于特定硬件或...

    flex actionscript java chatting source

    而“Thread”在Java中表示线程,是程序执行的最小单元,多线程技术允许同时执行多个任务,这对于聊天室这样的并发用户交互场景来说至关重要。 在实现这样一个聊天室系统时,首先,Java后端会负责处理用户的连接请求...

    flex4 权威教程 中文版 入门

    - **多线程与异步处理**:掌握Thread和Timer类的使用方法,提高程序响应速度和用户体验。 #### 七、Flex4开发资源推荐 - **官方文档**:Adobe官方网站提供的最新Flex文档和技术支持。 - **社区论坛**:参与Stack ...

    史上最强的嵌入式底层驱动开发课程 Linux系统开发+Linux高级程序+主板开发+ARM等

    │ ├55 - 线程_Thread1.avi │ ├56 - 线程_Thread2.mp4 │ ├57 - 线程_Thread3.mp4 │ ├58 - 网络编程_Concept1.mp4 │ ├59 - 网络编程_Concept2.avi │ ├60 - 网络编程_Concept3.mp4 │ ├61 - 网络编程_...

    让你半天学会Cortex-M3

    **Cortex-M3**是ARM公司推出的一种针对微控制器应用的...提供的“半天学会ARM Cortex-M3 课件.ppt”将是一个很好的学习资源,它可能包含了课程大纲、关键概念讲解和实例分析,可以帮助你系统地学习和理解Cortex-M3。

    Java制作动画效果的文字变大效果.rar

    由于Java GUI的绘图操作必须在事件调度线程(Event Dispatch Thread, EDT)中进行,因此,我们需要确保定时器的回调函数是线程安全的,以避免出现竞态条件。 在压缩包中的`codesc.net`文件,可能包含了实现这一...

    JFFS2源代码情景分析Beta2

    JFFS2(Journaling Flash File System 2)是一种专为闪存设备设计的日志式文件系统,广泛应用于嵌入式系统中。本篇文章基于Linuxforum上ID为shrek2的作者所撰写的JFFS2源代码分析,旨在深入探讨JFFS2的核心概念和...

Global site tag (gtag.js) - Google Analytics