BroadcastReceiver和ReentrantLock。有什么问题吗?

时间:2012-05-06 15:29:48

标签: android locking broadcastreceiver reentrantlock

我正在开发一个可点击的小部件。我想使用静态java.util.concurrent.locks ReentrantLock,因此一次只调用一次widget逻辑。

但我担心的是,在非常罕见的情况下锁定不会被释放是可能的,因为它会因为10秒的生命周期窗口而被预先杀死。

是否存在使用ReentrantLock的异议?释放锁的最佳方法是什么?

或许是否有一个Android选项只运行单线程?

目前我正考虑在finally块或者finalize方法(ouch)中释放onReceive末尾的锁。

1 个答案:

答案 0 :(得分:0)

  

我想使用静态java.util.concurrent.locks ReentrantLock,因此每次只调用一次小部件逻辑。

在主应用程序线程上调用onUpdate()的{​​p> AppWidgetProvider。根据定义,它只能被称为“一次一个”。你不需要锁。