TKCB 发表于 2018-11-5 10:53:34

【AS3 Worker(多线程)探秘 2】———跳过天坑

本帖最后由 TKCB 于 2020-2-21 07:59 编辑

TKCB网站
网址:www.tkcb.cc


【AS3多线程探秘】——系列教程,共五篇目录1. 理解和看法,AS3中多线程的设计2. 跳过天坑3. 复杂对象及自定义对象4. 用子线程进行超级复杂计算5. 番外篇,实际使用中的一些注意事项

天坑?Why? 我们继续接着上一个帖子,为什么会把这一个单独提出来,是因为AS3的多线程机制实际有坑人的地方,如果方法不对或许你怎么测试都是错误,总是感觉代码明明正常,为什么多线程就不能正常呢。
跳过天坑 就我目前遇到的,大概有下面几个坑(这都是Adobe没有告诉我们的): •天字一号坑:发布SWF的模式 •天字二号坑:state属性 •天字三号坑:子线程里的 trace()
天字一号坑:发布SWF的模式 说到发布模式,还要感谢 “iloveas” 舵主,因为这个是我不知道的,这个得感谢感谢他。 首先,肯定要用11.4及以上的Flash Player。 然后,子的线程的fla文档必须使用正常的发布swf,不能使用调试模式发布。 最后,主的线程的fla文档必须使用调试模式发布swf。 或许只有Adobe写这个代码的人才知道为什么要这样。
天字二号坑:state属性 子线程在刚启动之后,即使使用侦听器侦听Worker的状态,即使 state 为 WorkerState.RUNNING,也不一定两个线程真正的连接正常了。 我就在这个上面坑了,代码写的很标准,就TM得连接不上,这个也是靠 “iloveas” 舵主帮助我,因为他之前的游戏中使用了多线程技术。 必须延后一定时间,两个线程才是正常的。 我使用的方法是一个不停发送消息的方法机制,不断的检测两个线程之间是否连接正常,如果连接正常,子线程发送连接正常的消息,然后主线程停止检测。 这时候才可以运行后面的代码。
天字三号坑:子线程里的 trace() 子线程由于单独使用了AVM2虚拟机,所以子的trace()就看不到了,这个是Adobe有点懒,没弄好,按理说是可以对trace进行一些改良吧!!! 或许真的很麻烦,所以Adobe也就没有管这个问题,但这个也不是特别重要的问题。 大家可以把子线程的代码现在子线程里面测试一遍,正常之后在把两个线程进行组合使用。

源码送上: 下面放出第一个fla的源文件,主要是多线程的初步使用和天坑的注解: (国际惯例,为了更多人看到而隐藏)**** Hidden Message *****

听我说一些废话吧
多线程很不错,真好,虽然Adobe的多线程有一些地方会坑人,但至少实现了不是吗。


免费是最昂贵的
银子还是要收的,因为 “免费的东西最昂贵” ,请深刻理解这句话的含义!!!


广告QQ(TKCB):2414268040(欢迎和我聊天交流,有朋自远方来不亦说乎)QQ群:96759336(AS3殿堂之路,Flash Animate AS3 AIR 技术交流)QQ群:705730359(H5天路历程,HTML5 CSS3 JaveScript技术交流)QQ群:463560360(King系列软件分享交流,TKCB 出品的 King 系列软件分享、使用、交流、反馈等)TKCB网站:www.tkcb.cc官方技术论坛:www.11ria.com

风雨AS3 发表于 2018-11-5 11:08:02

顶顶顶顶顶顶顶顶顶

huiker 发表于 2018-12-26 04:15:12

主的线程的fla文档必须使用调试模式发布swf —— 这个问题到今天依然存在吗?

秋月色 发表于 2018-12-31 23:45:09

{:1_96:}子线程由于单独使用了AVM2虚拟机

每天进帐500万 发表于 2019-1-7 15:21:38

学习啦{:1_119:}{:1_119:}{:1_119:}{:1_119:}{:1_119:}

ganggang_lantia 发表于 2019-3-21 12:53:20

顶顶顶,写的相当不错,很有用的东西

勤奋的蜗牛 发表于 2020-7-15 12:05:29

感谢分享

Kona 发表于 2020-8-10 14:40:56

感谢分享!

我是你大爷 发表于 2021-6-13 13:40:44

很认真的主啊

TKCB 发表于 2021-6-13 14:52:42

我是你大爷 发表于 2021-6-13 13:40
很认真的主啊

是的,一直很认真!
页: [1] 2
查看完整版本: 【AS3 Worker(多线程)探秘 2】———跳过天坑

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)