首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

adobe air AS3 :如何在workers_多线程中运行函数(作者:Worker)

Adobe AIR是一种跨平台的应用程序开发框架,它允许开发者使用Adobe Flash、ActionScript 3(AS3)和HTML/JavaScript等技术来创建富媒体应用程序。AS3是Adobe Flash平台上的一种面向对象的编程语言。

在Adobe AIR中,可以使用多线程来提高应用程序的性能和响应能力。在AS3中,可以使用Worker类来创建和管理多线程。下面是在Worker多线程中运行函数的步骤:

  1. 创建一个Worker对象:使用Worker类的构造函数创建一个新的Worker对象。例如:var worker:Worker = WorkerDomain.current.createWorker(workerScriptBytes);
  2. 定义Worker脚本:创建一个新的AS3文件,作为Worker脚本。在该脚本中,定义要在多线程中运行的函数。例如:// Worker脚本(workerScript.as) function myFunction():void { // 在这里编写要在多线程中运行的代码 }
  3. 将Worker脚本加载到Worker对象中:使用Worker对象的setSharedProperty()方法将Worker脚本加载到Worker对象中。例如:worker.setSharedProperty("script", workerScriptBytes);
  4. 启动Worker线程:使用Worker对象的start()方法启动Worker线程。例如:worker.start();
  5. 在主线程中调用Worker函数:使用Worker对象的send()方法在主线程中调用Worker脚本中定义的函数。例如:worker.send("myFunction");

通过以上步骤,可以在Worker多线程中运行函数。这样可以将一些耗时的操作放在Worker线程中执行,以避免阻塞主线程,提高应用程序的性能和响应能力。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 记一个脚本解释器的开发

    运行时,如果在类实例找不到某属性, 则会检查委托(该类的原型对象)是否有该属性。...这两本书我读了一下,确实可以自制语言,但是肯定是无法自制as3这样的大型的语言的。我也尝试使用人肉代码解析,发现这根本就没办法进行下去,稍有地方出错,就要大量修改然后自己也搞不清了。...行为和Adobe AIR编译器保持一致。 b) 原型链继承。和js类似,行为与Adobe AIR保持一致。对于封闭的类,可以使用原型链进行扩展。非常类似.net的扩展方法(真的非常像) c) 闭包。...任何函数都是一等对象,所以闭包支持顺理成章。 d) 完整的类继承,接口系统和AIR编译器完全一致。对于类的成员method,使用function.apply不能改变this指针。...而其他的函数,则使用apply和call和js一致,和AIR编译器保持一致。 e) 完整的语法支持。支持除了 with {}  和 namespace 之外的所有语法。

    1.5K70

    前端“秀肌肉”,云端 Photoshop 亮相

    如此一来,创作者可以轻松将链接发送给其他协作伙伴。 轻松实现跨平台操作。作为运行时,Web 抽象掉了底层操作系统,使得 Photoshop 能够覆盖用户手中的多种不同平台。...但实现这个愿景也面临着巨大的技术挑战,工程师们需要重新思考 Photoshop 这样强大的应用程序要如何在 Web 上运行、起效。...在首次访问之后,后续加载往往非常快(以 M1 Macbook 平台为例): Adobe 还使用 Workbox 库,轻松将 Service Worker 缓存集成至整个构建过程当中。...通过多线程实现图形并行操作 Photoshop 的很多核心图像处理操作(例如转换像素)可以通过跨线程并行处理来大幅加快速度。...将云端模型转为本地设备运行,有助于改善隐私、延迟和成本。 TensorFlow.js 是谷歌发布的一套开源机器学习库,主要面向希望在浏览器运行客户端的 JS 开发人员。

    24810

    Photoshop与Web技术完美融合,Web版Photoshop已正式登场

    现在,Photoshop文档可以通过简单的URL链接进行访问,而不再埋藏在复杂的文件系统。这使创作者可以轻松地与合作者共享他们的作品。 最令人兴奋的是,这种新方式也跨越了平台的边界。...但是实现这一愿景面临着重大的技术挑战,需要重新思考像Photoshop这样强大的应用程序如何在网络上运行。...Adobe使用Workbox库更轻松地将Service Worker缓存集成到他们的构建过程,这使得整个缓存策略的实施更为便捷,确保了在Web上提供快速和流畅的Photoshop体验。...多线程用于并行图形操作 在Photoshop,许多核心图像处理操作,例如像素转换,通过多线程的并行执行可以大大提高速度。...尝试在浏览器上使用Photoshop web 版 Photoshop Web版目前已经可以在以下浏览器版本运行: Chrome 102+ Edge 102+ Firefox 111+ 并且Adobe正在积极努力弥合对

    86220

    5种将死的编程语言

    Adobe Flash和AIR 从技术上讲,这些都是平台,而非编程语言。我之所以将它们包含进来是因为如果你想要使用它们,就必须安装Adobe自己的ECMAScript版本,即ActionScript。...ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)增加了一些细节;但是除了Adobe Flash,其他地方几乎没有ActionScript的用武之地。...Adobe也曾试图通过AIR以求得其编程平台的一线生机,于是配建了一个用于构建AIR app的工具,称为Flex。至于AIR,许多人都说,这是一场灾难。...不过我们目前也不知道为什么Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展?...记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用,AIR很是红火了一阵子。

    2.5K20

    5 种前途迷茫的编程语言

    Adobe Flash和AIR 从技术上讲,这些都是平台,而非编程语言。我之所以将它们包含进来是因为如果你想要使用它们,就必须安装Adobe自己的ECMAScript版本,即ActionScript。...ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)增加了一些细节;但是除了Adobe Flash,其他地方几乎没有ActionScript的用武之地。...Adobe也曾试图通过AIR以求得其编程平台的一线生机,于是配建了一个用于构建AIR app的工具,称为Flex。至于AIR,许多人都说,这是一场灾难。...不过我们目前也不知道为什么Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展?...记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用,AIR很是红火了一阵子。

    1.1K20

    【Chromium】ThreadPool的ThreadGroup

    COM_MTA:表示在工作线程需要初始化一个多线程单元(COM MTA)。这通常在Windows操作系统上使用,用于支持多线程的COM组件。...这对于多线程编程的协作和通信非常有用,可以方便地共享线程组级别的信息,而不需要显式传递参数或使用全局变量。...这对于多线程编程的任务调度和协作非常有用,可以提高系统的性能、可维护性和可扩展性。 // Registers the thread group in TLS. ...线程安全性对于多线程环境的任务调度和执行非常重要。ThreadGroup类的线程安全性确保了任务的正确执行和数据的一致性,同时避免了竞争条件和数据损坏的问题。...如果指定了worker_thread_observer,它会在工作线程进入和退出其主函数时通知观察者。worker_environment参数指定任务执行的环境。

    19010

    定了!2020年,6种将死的编程语言!

    5 Adobe Flash和AIR 从技术上讲,这些都是平台,而非编程语言。...ActionScript在ECMAScript(这是JavaScript实现标准的官方名称)增加了一些细节;但是除了Adobe Flash,其他地方几乎没有ActionScript的用武之地。...Adobe也曾试图通过AIR以求得其编程平台的一线生机,于是配建了一个用于构建AIR app的工具,称为Flex。至于AIR,许多人都说,这是一场灾难。...不过我们目前也不知道为什么Adobe会推出AIR,可能是想用AIR取代Flash?也可能是想要AIR和Flash相亲相爱共同发展?...记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑上安装AIR运行时)的使用,AIR很是红火了一阵子。

    1.5K20

    ArrayBuffer简析

    这是一个很大的成就,所带来的冲击是巨大的,连Adobe也都全面拥抱HTML5了,每一个Web开发者也要跟上时代的脚步。...另外就是要注意Uint16Array构造函数的参数,其中pos是字节单位,而VertexCount的单位则是Uint16,两个字节,两者的单位是不同的,自己到底要移动多少自己,一定要谨慎处理。 ?...举个例子,当数据量很大的时候,如何在数据处理的同时避免UI响应停滞,通常我们都是开辟一个工作者线程来处理数据,处理后的数据都放在共享池中,这时UI主线程直接使用数据,保证界面响应的顺畅,而JavaScript...对此无能无力,即使采用Ajax也只能局部更新,只是“看上去有了响应,但总体时间还是不变,甚至会变慢”,HTML5提供了Web Worker多线程机制,则可以很好的解决这个问题。...('Worker said: ', e.data); }, false); worker.postMessage('Hello World'); // 把数据传给工作者线程. doWork.js (Worker

    1.6K70

    Android多线程切换的几种方法

    作者:蓝灰_q https://www.jianshu.com/p/31d0852c0760 我们知道,多线程是Android开发必现的场景,很多原生API和开源项目都有多线程的内容,这里简单总结和探讨一下常见的多线程切换方式...几点基础 多线程切换,大概可以切分为这样几个内容:如何开启多个线程,如何定义每个线程的任务,如何在线程之间互相通信。 Thread Thread可以解决开启多个线程的问题。...AsyncTask主要在doInBackground函数定义工作线程的工作内容,在其他函数定义主线程的工作内容,例如onPostExecute,这里面必然涉及两个问题: 1.如何实现把doInBackground...super T> s) { Scheduler.Worker w = scheduler.createWorker();//根据参数值,Schedulers.io()创建worker...} 而这个worker,其实就是我们输入的线程参数,Schedulers.io(),这个io是这样定义的: //io.reactivex.schedulers.Schedulers源码 static

    1.9K40

    Web Workers RPC

    引擎通常会有两种现象: 执行当前任务花费大量的时间,使得无法执行任何其他操作,导致浏览卡顿 如果此时回调队列被阻塞的任务过多时,大多数浏览器都会抛出一个提示信息,征求是否要关闭网页 那么,我们如何在不阻塞...引言 javascript 是单线程编程语言,这使得我们开发过程不必关注因多线程导致的复杂场景(,死锁)。 单线程意味着某一时刻只能做一件事情!...因此,解决上述问题,通常有两种方案: 异步回调(asynchronous callbacks):依赖第三方服务 开启多线程(web worker):本文重点,浏览器提供了相应 web api 关于「JavaScript...web workers 浏览器整体兼容性很好,为我们大面积使用奠定了基础~~~ 在一个 worker 中最主要的是不能直接影响父页面,包括操作父页面的节点以及使用页面的对象。...Comlink 采用的 RPC 代理方式,并不是传递上下文环境(因为这是非常危险的,而且函数传递时会导致 Uncaught (in promise) DOMException: Failed to execute

    69310

    Node.js多线程完全指南

    事件循环是一种机制,它采用回调(函数)并注册它们,准备在将来的某个时刻执行。它与相关的 JavaScript 代码在同一个线程运行。当 JavaScript 操作阻塞线程时,事件循环也会被阻止。...第一种是生成一个 worker,然后执行它的代码,并将结果发送到父线程。通过这种方法,每当出现新任务时,都必须重新创建一个工作者。...'); 5} workerData 产生线程时包含在 worker 的构造函数的数据。...在回调函数,我们必须检查该 worker 是否仍然存在于该状态,因为有可能会 cancelTimeout(),这将会把它删除。...在回调,我们调用 queueItem 的回调,然后调用 cleanUp 函数。在 cleanUp 函数,要删除事件侦听器,因为我们会多次重用同一个 worker

    4.2K21

    师夷长技以制夷:跟着PS学前端技术

    Photoshop文档可以通过URL访问,而不是把我们的心神淹没在文件系统。创作者可以轻松地将链接发送给合作者。 跨平台的灵活性。Web作为高级载体,可以过滤掉底层操作系统。...然而,实现这一愿景面临着重大的「技术挑战」,需要重新思考像Photoshop这样强度大的应用程序如何在Web上运行。 3....Adobe使用Workbox库[9]更轻松地将Service Worker缓存集成到他们的构建过程。 针对Worker呢,我们之前的文章就有过介绍。...4.4 用于并行图形操作的多线程 Photoshop的许多核心图像处理操作,如像素变换,可以通过「跨线程」并行执行来大幅加速。...这允许Photoshop在转移到WebAssembly后,使用与桌面相同的多线程方法来处理性能关键的图像处理函数

    32220

    AS3性能优化

    本篇文章用来总结本人对AS3性能优化方面的认识及经验,可能会有一些错误,敬请不吝赐教.如果想了解更多,请参考ADOBE方面的相关只是介绍. 1,关于显示对象:     shape -> sprite...,移位,缩放,旋转.用useCapture = true能提高性能.但是做出修改则适得其反.最好自己做缓存BitMapData 8,尽量少调用函数:     getter name() : string...setPixel() 或 setPixel32(),请使用 lock() 和 unlock() 方法加快运行速度。...如果可能, 请使用在一次调用检索所有像素的方法。要读取像素,请使用 getVector() 方法,它比 getPixels() 方法速度快。...此外,请记 住,尽可能使用依赖于Vector 对象的API,因为它们的运行速度可能更快。

    77910

    Web Worker详解

    之所以设置单线程的理论就是,客户端的JavaScript的函数不能运行太长时间,否则会导致循环事件,Web浏览器无法对用户输入做出响应,这也是为什么AJAX的API都是异步的,以及为什么客户端Javascript...在Web Worker标准,定义了解决客户端JavaScript无法多线程的问题,其中定义的 ” Worker ” 是指执行代码的并行线程,不过,Web Worker处在一个自包含的执行环境,无法访问...WorkerGlobalScope是worker的全局对象,所以它包含所有核心javascript全局对象拥有的属性JSON等,window的一些属性,也拥有类似于XMLHttpRequest()等。...,该文观点仅代表作者本人。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    56620
    领券