首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AS3中可以同时访问一个类中的两个函数吗?

在AS3中可以同时访问一个类中的两个函数吗?
EN

Stack Overflow用户
提问于 2010-06-08 04:19:38
回答 3查看 481关注 0票数 0

在自定义队列中,有一个push()和一个pop()函数。pop()可以在Event.COMPLETE上的任何时候被调用,所以这是否意味着代码可以同时在push()和pop()中运行?如果是这样,有没有办法防止代码同时在两个函数中运行?

EN

回答 3

Stack Overflow用户

发布于 2010-06-08 04:37:02

不,Flash是独一无二的单线程,所以不可能同时进行两个操作。

基本上,在处理事件时,您不必担心其他代码尚未完成执行。

票数 1
EN

Stack Overflow用户

发布于 2010-06-08 16:26:50

你应该阅读这篇关于Order of operations的帖子(见事件和帧执行)。

虽然flash可能会给人以多线程和异步操作的印象,但它只是一个单线程程序,所以你永远不需要担心锁定。基本上,事件操作是在“帧之间”运行的,所以“在”帧上运行的代码是在事件运行之前/之后完成的,所以不会担心功能重叠。

票数 1
EN

Stack Overflow用户

发布于 2010-06-08 04:25:09

你需要在“上下文切换”的上下文中搜索“原子操作”的概念,以及互斥锁的概念。

基本上,互斥是一个由线程设置或清除的布尔值。

每个线程将:

function pop(){ Get_Mutex();do_the_pop_operation();Free_Mutex();}

函数push() { Get_Mutex();do_the_push_operation();Free_Mutex();}

Get_Mutex()函数将处于休眠状态,直到它接收到互斥锁为止,因此一次只能发生一个操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2992836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档