【Adobe Consult】AS3线程

QT学习笔记 阅读详情

导读:
  Every once in a while, someone decides they would like to see threading or background processing in Actionscript. While the underlying Flash Player and Operating System use threads, the execution model for Actionscript does not.


有的人一时兴起,认为需要AS3也支持后台处理的线程。但是虽然FLASH PLAYTER以及OS支持使用线程,但是AS的执行模型并不支持线程模型
  For those who don't know, 'threading' is essentially the ability to have the code do something in the background while the UI is doing something else. Because Actionscript is single-threaded, if you spend lots of time doing heavy computation, the UI cannot be updated while you're doing that computation so your application appears stuck or effects don't run smoothly.


对于那些不了解的人来说,线程是必须的,如果我们要UI执行某个动作的时候在后台完成其他的任务。因为AS是单线程的所以如果你把很多的时间花在大量的计算上,那么你的UI得不到及时的更新,那么你的UI看起来就奇卡无比,或者是不顺畅
  Similarly, there is no yielding or blocking in Actionscript either. If the next line of code is supposed to run, you cannot prevent the next line of code from running. That means that when you call Alert.show(), the next line of code following that runs right away. In many other runtimes, the Alert window has to be closed before the next line of code continues.


同样的,也没有挂起或者是阻止的相关线程概念,如果下一行代码要执行,那么你就不能阻止这行代码的执行,例如你执行了ALERT.SHOW,那么它的下一行代码就会立即执行,然而在很多的其他系统里面。为了使得下一行代码得到执行,你必须首先关闭ALERT
  Threading may be a feature of Actionscript some day, but until then, you have to live with the fact that there is no such thing right now.


线程也许是AS将来的基本特性,但是在那之前,你必须接受AS是单线程的现实。 
  In other single-threaded environments, you can get something like threads via 'pseudo-threading', which involves dividing up the heavy computation into small chunks on your own. (There is no solution to allow for blocking or yielding other than refactoring the application to be even-driven). Pseudo-threading is painful, but doable in most situations. Iterative tasks are easier than recursive ones, the chunk size has to be small enough to not degrade the UI response time and restoration of the execution context must be efficient otherwise you'll spend too much time saving and restoring your state and not get anything done.


然而在单线程的世界里面,你可以通过PSEUDO-THREADING模式来模拟线程。例如将大量的计算任务分包成小块然后分别完成,不过对于挂起线程没有可以替代的解决方案,这种模式是令人痛苦的,但是通常是有效的,通常迭代要比递归容易的多,同时要注意的是计算块要划分到足够的小不能让其计算影响到UI的渲染
  Someone asked me how I would generalize such a thing. I put this together in a couple of hours. It represents my first thoughts, not some deep thinking on the subject. A PseudoThread instance takes a callback function and a context object and calls the callback function with the context object as mahy times as it thinks it can get away with it within the frame interval. The callback function should update the context object before returning and return false when done and the PseudoThread instance dispatches an event and destroys itself.


也有人问过我如何来实现这样的一个东西,我总共花了一个多小时来处理这个问题,当然只是一个初步的想法,不是成熟的考虑结果,这种模式需要一个环境对象,和一个回调函数,然后这个环境对象就可以多次的调用回调函数,并更新自己,可以设定调用的间隔,然后当回调函数返回FALSE的时候完成计算销毁对象。
  The following is the a test that loads an image, and adds a red tint to a copy of the image one row at a time. I purposefully slowed it down with trace statements so you can see that it doesn't do it all at once and doesn't seem to affect the rotating button.
下面是我的构想的一个例子


PseudoThread.as


 


PseudoThreadTest.swf


These two links are the source file and the test image.
PseudoThreadTest.mxml
the test image


The usual caveats apply
本文转自
http://blogs.adobe.com/aharui/2008/01/threads_in_actionscript_3.html

AS3 多线程 立即下载

相关推荐

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了两相交错并联Boost电路的Simulink仿真模型,属于电力电子变换器领域的核心技术研究。该模型基于Simulink平台构建,重点在于通过多相交错并联结构提升Boost电路的输出稳定性与转换效率,有效降低输入电流纹波,适用于中高功率电力变换场合。文档系统阐述了电路的工作原理、闭环控制策略设计、软启动机制实现以及关键参数的优化方法,充分展现了多相并联技术在改善动态响应、提高功率密度方面的优势。同时,提供了完整的仿真建模流程和技术路线,涵盖主电路搭建、控制器设计、系统调试与性能分析等环节,并配套提供仿真文件、设计报告及参考文献等丰富资料,便于学习者深入理解与实践复现。; 适合人群:具备电力电子技术基础知识、熟悉Simulink仿真环境,正在从事新能源发电、电动汽车、工业电源系统等相关领域研究的硕士博士研究生、科研人员及电气工程方向的工程技术人员。; 使用场景及目标:①用于深入理解多相交错并联Boost电路的拓扑结构与工作机理;②支撑科研项目中的高效DC-DC变换器性能验证与优化设计;③为实际电源产品开发提供理论依据和仿真原型;④作为高校课程设计或实验教学的参考案例,提升学生的工程仿真与系统分析能力。; 阅读建议:建议结合文档中提及的其他相关变换器模型(如LLC谐振变换器、PFC电路、Buck变换器等)进行横向对比学习,深入掌握不同拓扑的控制策略差异与适用场景,并充分利用所提供的网盘资源下载完整仿真模型,动手调试参数、观察波形,从而深化对多相并联控制、电流均流、闭环稳定性等关键技术的理解,全面提升电力电子系统的仿真与设计能力。

AS3多线程测试项目,完美运行!(更新)

不像目前你在Google上搜到的多线程代码,那群懒猪都爱用一个SWF,然后用Worker.current.isPrimordial来分别当前线程是主线程还是副线程——要知道“每个 worker 都使用其自己的运行时虚拟机实例,甚至一个微小的 worker 的开销也可能很大。”——而产品级项目是不太会允许一个副线程跟主线程这样雌雄同体地搞在一起滴! 所以我的第一个HelloWorld就是完全分别的

wojiaogjl0的博客 1015

DSP配置I2C通讯(非IO口软件模拟时序)

dsp即数字信号处理器,是一种广泛应用的嵌入式处理器,主要应用是实时快速地实现各种数字信号处理算法,目前,国际主要的dsp供应商是ti公司,其tms32系列产品占据了dsp市场近一半的份额,本文以TMS320F28377D为例,使用ti公司dsp开发工具ccs10.1配置i2c模块。 写这篇文章的缘由,因为市面上很多DSP其实内部是具有硬件I2C接口的,但由于网络上大部分资料和例程都是利用IO口模拟I2C时序进而实现I2C通讯的。给很多想学习硬件I2C通讯的小伙伴带来了困难。 下面先介绍一下配置步骤 1.E

weixin_44387442的博客 5546

AS3多线程快速入门(二):图像处理[译]

原文链接:http://esdot.ca/site/2012/intro-to-as3-workers-part-2-image-processing 在《AS3多线程快速入门》系列教程的第一部分中,我们研究了AS3 Worker的基本原理,包括多种通信方式,还展示了一个简单例子:Hello World Worker。 在这篇文章里,我将更进一步,向你展示如何利用多线程

wtuetnsrmh的专栏 1314

Multisim实战:从8选1到32选1数据选择器的完整搭建指南(附常见问题解决)

本文提供了一份详尽的Multisim实战指南,手把手教你从基础的8选1数据选择器开始,逐步级联搭建16选1乃至32选1数据选择器。文章深入剖析了级联的核心逻辑、片选方案以及使用译码器的专业方法,并附带了电源连接、输出冲突、信号毛刺等常见问题的诊断与解决技巧,帮助电子工程学生和爱好者扎实掌握数字电路的系统设计与仿真调试。

dd012的博客 730

B站DRM视频解密流程实战解析:从密钥获取到播放全流程

本文详细解析了B站DRM视频的解密全流程,从识别加密视频、捕获关键网络请求(如playurl接口的widevine_pssh数据),到逆向分析DRM SDK的JavaScript执行逻辑,最终手动模拟EME流程获取解密密钥,并使用mp4decrypt和ffmpeg工具完成视频文件的解密与合并。文章为开发者提供了从密钥获取到播放的完整实战指南。

weixin_29290379的博客 841

在windows环境下使用adobe air 的本机扩展ane的一些心得

下文是我对如何在windows环境下使用adobe air的本机扩展(ane)的一些心得。 本文针对flashcs5.5,cs6中对ane的支持已经有很大的提高。 一、官方帮助 http://help.adobe.com/zh_CN/air/build/index.html 主要参考: 1.针对 Adobe AIR 开发本机扩展 2.构建 Adobe AIR 应用程序 本文很

Jingle的专栏 1万+

微信Dat文件转图片(文末含工具下载)

PC端微信dat图片转换为jpg格式

weixin_40704848的博客 8090

[新闻资讯] [Flash/Flex] ActionScript 3多线程框架-CMVC框架

http://bbs.9ria.com/viewthread.php?tid=83903&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000   资讯类型: 翻译 来源页面: http://candymandesign.blogspot.com/2011/05/actionscript-3-mult...

AS3 233

从零搭建自动驾驶仿真环境:我的Nuplan-devkit实战笔记(含PyCharm配置技巧)

本文详细记录了从零搭建Nuplan-devkit自动驾驶仿真环境的完整流程,包括conda环境配置、pip版本控制、PyCharm专业版集成等关键步骤。特别针对Ubuntu系统下的依赖管理、数据目录优化和性能调优提供了实用技巧,帮助开发者高效构建稳定的自动驾驶仿真开发环境。

weixin_30505225的博客 480

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案

将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取!

CHUXUEZHE8210的博客 1994

Actionscript 3.0 事件机制剖析(一)

               Actionscript 3.0 事件机制剖析(一)                                                              ----------------------------Event 大部分人使用的Windows操作系统就是一个典型的基于事件的任务调度系统,时间片的轮转实现多个任务的处理,这是

点滴点点滴滴 2345

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

funfan的博客 1316

Flash Actionscript 多线程Worker 压缩图片

package { import flash.display.Bitmap; import flash.display.Sprite; import flash.events.Event; import flash.external.ExternalInterface; import flash.geo...

weixin_33845477的博客 162

【2DWT:2维离散小波变换(附Pytorch代码)】

图像信号具有非平稳特性,无法使用一种确定的数学模型来描述,而小波变换的多分辨率分析特性很好地解决了这个问题。小波变化的多分辨率特性使其既可以高效描述图像的平坦区域(低频信息、全局信息),也可以有效处理图像信号的局部突变(高频信息,即图像的边缘轮廓等部分)。小波变换在空域和频域同时具有良好的局部性,使其可以很好地聚焦到图像的任意细节。

NorthSmile的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Flash多线程学习资料导航

FP11.4的新功能竟然是多线程~~囧~~ 多线程资讯多线程入门教程系列 下面copy一篇代码以做学习之资~~ package { import flash.display.Sprite; import flash.events.Event; import flash.system.MessageChannel; import flash.system.Worker;

mengtianwxs的专栏 1638

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ActionScript Workers Tutorial (ActionScript多线程教程)

Originaly From: http://jacksondunstan.com/articles/2401   ActionScript workers add threading to AS3 so that you can take advantage of today’s multi-core CPUs. I’ve written a couple of articles abo

KeyGen的专栏 1597

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ActionScript3.0定时器

虽然Flash拥有越来越强大的周边功能,但其核心依然是一款动画制作软件。在Flash设计环境中,不编写脚本代码,也能快速制作出效果惊人的时间轴动画。但此类动画是固定的,无法根据环境动态调整。使用ActionScript生成和控制动画,才能随心驾驭动画的细节,并完成仿真运动和用户交互等高级功能。 动画定时器 高级语言都会提供定时器,AS3更不例外。在脚本代码中,可以通过设置定时器控制动画帧率。 ...

dishell的专栏 718

AS3多线程快速入门(一):Hello World[译]

随着AIR3.4和Flash Player11.4的测试版发布,Adobe终于推出了多年来被要求最多的API:多线程! 如今,使用AS3 Workers让创建真正的多线程应用变得非常简单,只需要几行代码即可。这个API相当的简单易懂,而且他们还做了一些非常有用的事:比如ByteArray.shareable这个属性,能实现在worker之间共享内存;还有一个新的BitmapData.copy

wtuetnsrmh的专栏 883

【超详细】音频声谱渐进渲染技术拆解:Adobe实现思路与多种工程方案对比

本文探讨大规模音频可视化中的性能瓶颈与渐进式渲染技术。针对长时音频处理中全量STFT导致的卡顿问题,提出基于多粒度变换与任务调度的渐进渲染架构,实现“先预览、后细化”的交互体验。Adobe方案通过分层设计、视口优先调度、局部增量更新与缓存复用,有效降低编辑操作延迟。对比其他四类实现路径——全缓存降采样、流式分块、Mipmap金字塔与视口驱动计算——各有适用场景。最终表明:高效音频可视化需在内存占用、计算开销与交互响应间权衡,渐进式增量变换是面向编辑型软件的最优解。

民乐团扒谱机的博客 310

Adobe illustrator 案例十三:adidas标志草图绘制

(自用)本文详细介绍了使用矢量软件(如Illustrator)绘制品牌标志“adidas”图形的完整流程:从新建A4横向文档、开启智能参考线,到绘制并旋转三杠、裁剪底部平齐;接着通过椭圆与矩形组合创建字母“a”与“d”,利用辅助矩形复制排版其余字母;随后绘制“s”字双椭圆路径并修剪,切割“i”字母圆点;最后统一设置描边属性,清理辅助线,添加深色背景并反白处理,最终通过编组与对齐实现底部三竖杠居中。全过程强调精准对齐与路径操作,适用于品牌标识设计初学者。

m0_54155388的博客 157

迪士尼联手Adobe自训“片场专用“AI模型:当内容工业按下生产线开关,角色“开口“这道工序还没自动化

11月10日,两条消息几乎同时传来。第一条来自彭博社和《华尔街日报》:迪士尼与Adobe达成多年期合作,将基于Adobe的Firefly Foundry技术,为迪士尼训练"艺术家主导"的专属生成式AI模型——用迪士尼自有角色、场景和视觉风格作为训练素材,产出商业安全、可直接进入制作管线的内容。合作范围覆盖华特迪士尼影业、主题乐园、游轮业务和ESPN。值得注意的是,就在不久前,迪士尼刚从与OpenAI的合作谈判中退出。

weixin_42926482的博客 130

Adobe Photoshop CC 中如何改变形状图层颜色

在 Adobe Photoshop CC 中,改变。的颜色可以通过以下简单步骤快速完成。修改形状的填充或描边颜色。

hu5566798的博客 201

DAM 与 Adobe Commerce 集成:如何利用 AEM Assets 统一管理跨渠道产品内容?

在跨境电商和多渠道零售场景中,产品图片、视频、详情页素材和活动内容往往分散在不同系统与团队手中,导致版本混乱、重复上传和品牌不一致。本文从“产品内容运营链路”出发,解析 DAM 与电商平台集成 如何通过 Adobe Experience Manager Assets 建立统一资产中心,并将高质量、已审批的产品内容高效分发到官网、电商、活动页和销售渠道。LeadsTech 可协助企业定义素材、商品数据与发布版本的责任,规划 AEM Assets 与 Adobe Commerce 的整合。

qq_20007175的博客 152

Adobe illustrator 案例十二:视频播放(Media & Video)图标绘制

(自用)本文详细演示了使用矢量绘图软件制作视频播放器图标的过程:先绘制带圆角的矩形主体,通过边角构件实现统一圆弧;再用直线工具绘制水平进度条,并设置圆头端点;接着以智能参考线辅助定位,精准绘制居中的滑块小圆;随后使用多边形工具生成正三角形播放键,结合快捷键与旋转吸附完成90度对齐;最后通过圆角连接修饰,使整体风格统一圆润。全过程强调工具切换、快捷键运用与智能辅助功能,确保精准高效。

m0_54155388的博客 245
上一篇: 命令行的妙用
下一篇: 【来自KSHEN】AIR Beta 2.0与AIR Beta3.0的差异和AIR Beta 3.0新增API
zinking3
博客等级 码龄20年 262粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值