开源项目async-threading能使as3支持多线程。
要在Flex4 sdk环境下使用,要先修改一下源代码,打开com.symantec.premiumServices.asyncThreading.handlers.FPSObserverHandler:
- 将
import mx.core.Application;
修改为import spark.components.Application;
- 将
private var _appRef:Application = Application.applicationas Application;
修改为private var _appRef:Application = FlexGlobals.topLevelApplication as Application;
- 同时导入
import mx.core.FlexGlobals;
这个api要求自定义的线程继承AbstractAsyncThread
然后实现IAsyncThreadResponder
接口,写一个测试用线程:
1 | package thread |
这个api还是比较强大的,基本线程操作和通讯都能实现了,具体可以看附件内的源代码api。
这个线程的构造函数要传入一个方法,这个方法将在线程启动后调用。测试代码:
1 | <?xml version="1.0" encoding="utf-8"?> |
用调试模式执行就能看到结果:
源代码下载:[MultiThreadingApp.rar] [MultiThreadTest.rar]
v1.5.2