Firefox扩展中的同步机制(例如锁)?

时间:2013-10-12 01:42:20

标签: javascript firefox synchronization firefox-addon

我可以在Firefox扩展程序的JavaScript代码中使用某些同步机制(例如锁)吗?

我根据https://developer.mozilla.org/en-US/docs/Code_snippets/On_page_load添加了代码,以便在每次加载页面时使扩展程序执行某些操作,并且我想控制在扩展程序的JavaScript代码中运行的函数序列。

有没有办法在Firefox扩展程序的JavaScript代码中使用某些同步机制(例如锁)来实现这一点?

就像一个疯狂的猜测,我是否需要使用网络工作者?

2 个答案:

答案 0 :(得分:1)

您可以使用async library进行流量控制

答案 1 :(得分:0)

我现在正在这样做的方法是使用Dekker's algorithm将共享变量放在JavaScript code module内。

现在我只需要同步2件事,为了同步更多的东西some solutions for software mutual exclusion可以使用。

这种忙碌的等待可能会让Firefox陷入困境(可能是由于Firefox如何处理进程和线程?),所以我不建议使用这样的东西。

更好的解决方案是使用事件,如Mozilla网站上显示的here

也许还有其他选择。 What is the JavaScript version of sleep()?有一些有趣的答案。