我是否需要担心闪存中的线程安全?

时间:2012-03-25 18:57:53

标签: flash thread-safety

在flash / air播放器中,actionscripts是否都在一个线程中运行?所有这些事件监听器是一个接一个地调用而且从不重叠吗?如果没有,有什么办法我可以担心吗?

3 个答案:

答案 0 :(得分:1)

你不必担心它。 ActionScript执行是单线程的。

答案 1 :(得分:0)

AFAIK,在ActionScript中,代码块始终是单线程的。即它总是阻止其他人的执行直到完成。如果我没有弄错的话,Flash运行时唯一一次在单独的线程中执行代码就是在进行网络调用时。

在AS事件模型中,事件不重叠;即,不会同时调用两个事件监听器。他们将一个接一个地执行;这甚至适用于网络呼叫产生的事件。

在您有许多单独事件的情况下,您很难估计事件的顺序;因为大多数事件模型都紧密地集成到显示列表中。在这种情况下,最好先设计某种队列系统。

答案 2 :(得分:0)

Flash / Air在单线程上工作,除了后台运行的代码,你没有access两个。如果您想为事件设置优先级,可以在EventDispatcher的addEventListener函数中执行此操作。