互斥体不适用于某些版本的android

时间:2018-11-20 12:52:46

标签: android kotlin mutex

从第1天开始,我的应用就一直困扰着我们。

对于某些用户,由于未知原因,互斥体不会执行其工作。以下是代码示例:

object Tools {
 val Mutex = kotlinx.coroutines.sync.Mutex()
 ...
}

然后用户:

 Tools.Mutex.withLock {
  DoSomeStuffWithZipFile()
}

现在几乎每个人都可以正常运行4个线程。但是对于Crashlytics报告中的某些内容,我发现所有4个线程当前都在锁内,试图在同一个zip文件中进行写入。

这是android 6/7/8,每个报告占32%的报告,其中9或更低的报告有问题。

此外,错误是,在带有“ rw”选项的RandomAccessFile()构造函数中没有这样的文件或目录,这本身就是很奇怪的...

0 个答案:

没有答案