【问题标题】:BroadcastReceiver and ReentrantLock. Are there any problems?BroadcastReceiver 和 ReentrantLock。有什么问题吗?
【发布时间】:2012-05-15 08:25:48
【问题描述】:

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

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

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

或者也许有一个 Android 选项可以只运行单线程?

目前我正在考虑在 onReceive 结束时在 finally 块或 finalize 方法中释放锁(哎哟)。

【问题讨论】:

    标签: android locking broadcastreceiver reentrantlock


    【解决方案1】:

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

    AppWidgetProvideronUpdate() 在主应用程序线程上被调用。根据定义,它只能被称为“一次一次”。你不需要锁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      相关资源
      最近更新 更多