Android全球互斥?

时间:2015-06-18 13:21:01

标签: android synchronization mutex critical-section

我有一系列Android应用,我需要协调他们的执行。在任何给定的设备上,可以安装这些应用程序中的任何一个,或者安装其中任何一个,或者其中任何三个,或任何四个,依此类推。所有这些应用程序都可以做一件特定的事情,他们都会不时尝试做这件事。现在问题出现了:在任何时刻,最多应该允许其中一个应用程序执行该操作。如果任何一个应用程序正在做那件事,其他应用程序都不应该这样做;他们应该等待轮到他们,或者干脆过关。换句话说,我需要Android上的全局互斥或关键部分机制。另外,如果可能的话,我想避免使用NDK。我该怎么办?

1 个答案:

答案 0 :(得分:2)

您可能需要提供更多详细信息才能获得更具体的答案。但据我所知,听起来你可以在每个应用程序中使用BroadcastReceiver来监听一个动作来获得广播,并将其视为需要等待或取消它的动作的标志。然后在每个应用程序内部,无论何时开始执行操作,都会使用动作字符串广播一个意图,例如`com.your.packagename.ACTION_STARTING_THE_THING。安装的所有其他应用程序(如果有)将收到此意图,并可据此采取相应措施。