jjzjj

concurrently

全部标签

android - 如何处理 :java. util.concurrent.TimeoutException : android. os.BinderProxy.finalize() 在 10 秒错误后超时?

我们看到了许多TimeoutExceptions在GcWatcher.finalize,BinderProxy.finalize,和PlainSocketImpl.finalize.其中90+%发生在Android4.3上。我们从Crittercism收到了来自现场用户的报告。错误是“com.android.internal.BinderInternal$GcWatcher.finalize()timedoutafter10seconds”的变体java.util.concurrent.TimeoutException:android.os.BinderProxy.finalize()

java - 通知单线程 : notify, notifyAll or concurrent.locks.Condition?

有时我需要唤醒或hibernate一个单个线程,我想知道什么是最好和最有效的方法。第一个解决方案是信号与wait-notify相结合(我知道如何正确实现这种模式,这不是问题所在)。我在某处读到过,使用java.concurrent库和CountDownLatch进行信号传输效率更高。我检查了concurrent.locks.Condition同样,但是this主题声明它只是(程序员方面)更安全和通用的构造,与notify/notifyAll相比没有性能优势。PeterLawrey建议在this中使用Concurrency库代替notify-notifyAll评论,所以现在我很困惑什么是

Java - JUC(java.util.concurrent)包详解,其下的锁、安全集合类、线程池相关、线程创建相关和线程辅助类、阻塞队列

JUC是什么?JUC是java.util.concurrent包的简称,在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题Java中线程有六个状态java.lang.Thread.StatepublicenumState{//新生NEW,//运行RUNNABLE,//阻塞BLOCKED,//等待WAITING,//超时等待TIMED_WAITING,//终止TERMINATED;}JUC的结构 tools(工具类):又叫信号量三组工具类,包含有CountDownLatch(闭锁)是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允

java - 如何防止 Logcat 中的 GC_CONCURRENT 语句

我有一个要求,我需要检查文件“A”中的行数,如果文件“A”超出了我的限制,那么我需要将其内容复制到另一个文件“B”中,然后清除内容文件“A”。上面的任务我必须一直执行所以,我构建了“服务”来完成这个任务。(我想在后台运行它)。我正在从服务中启动一个线程来执行上述任务。(我在服务中还有其他任务应该与任务并行运行)。我正在使用AlarmManager使我的“服务”保持Activity状态。底线是上述任务将一直运行。到目前为止,我成功地实现了我想要实现的目标。但我在LogCat输出中观察到它正在生成与GC相关的大量语句。喜欢:D/dalvikvm(2579):GC_CONCURRENTfre

android - 如何修复 "Program type already present: androidx.concurrent.futures.DirectExecutor"

迁移到AndroidX后,由于迁移,我遇到了以下问题:失败:构建失败,出现异常。出了什么问题:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”执行失败。com.android.builder.dexing.DexArchiveMergerException:Errorwhilemergingdexarchives:/home/lexy/AndroidStudioProjects/Testbucks/app/build/intermediates/transforms/dexBuilder/debug/0.jar,

java - 如何修复错误 :java. util.concurrent.ExecutionException : com. android.ide.common.process.ProcessException:

我在Eclipse中有一个项目,当我同步项目时,我导出到gradle项目并在AndroidStudio中打开错误:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:错误:任务':app:mergeDebugResources'执行失败。Error:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:这是我的build.gradle:appl

JUC包(java.util.concurrent)下的常用子类

文章目录前言一、对象锁juc.locks包二、原子类三、四个常用工具类3.1信号量Semaphore3.2CountDownLatch总结前言博主个人社区:开发与算法学习社区博主个人主页:KillingVibe的博客欢迎大家加入,一起交流学习~~一、对象锁juc.locks包在Java中除了synchronized关键字可以实现对象锁之外,java.util.concurrent中的Lock接口也可以实现对象锁。介绍一下这个lock锁的简要实现:JDK1.0就有的,需要JVM借助操作系统提供的mutex系统原语实现JDK1.5之后,Java语言自己实现的互斥锁实现,不需要借助操作系统的moni

android - 如何停止如此频繁地运行 GC_CONCURRENT?

我正在使用一个线程,该线程使用AudioRecord类记录音频并放置在recorderBUffer(它是Short[]的链表)中,一个单独的线程对这些数据进行编码并将其放置到playerBuffer(链表[]).为了播放音频,我使用AudioTrack类和onPeriodicNotification()我从playerBuffer读取数据并将其写入轨道。代码看起来简单明了。但是,它没有按应有的方式工作。GC_CONCURRENT一直在吃,这导致AudioTrack如此频繁地重新启动(我猜!)。我从LogCat收到以下消息:-04-0912:25:13.757:E/Constructor

android - 程序类型已经存在 : com. google.common.util.concurrent.ListenableFuture

我刚刚将我的项目转换为androidx,现在收到com.google.common.util.concurrent.ListenableFuture的“程序类型已存在”错误。我查看了多个stackoverflow解决方案和一些Gradle文档,但仍然无法正常工作。问题是Gradle在这些模块中引入了两个版本的ListenableFuture:Gradle:com.google.quava:quava:23.5jre@jarGradle:com.google.guava:listenablefuture:1.0@jar我想我想排除第二个,但不知道该怎么做。您可以在我的gradle文件中看

Structured Concurrency:结构化并发

一、参考https://ericniebler.com/2020/11/08/structured-concurrency/二、总结1.结构化并发是什么-概述是什么:一种确保子操作在父操作之前完成的方式,类似函数在调用函数之前完成。最典型的结构化并发:C++20的协程意义:它通过使异步生存期与普通C++词法作用域相对应,为异步程序带来了现代C++风格,并且不需要引用计数(智能指针,垃圾回收)来管理对象的生命周期总结:即使在并发环境中,函数嵌套调用时参数的作用域也是严格嵌套的,不需要用智能指针(shared_ptr)之类的技术,也不会发生不小心的内存泄露--对象的生命周期2.为什么需要结构化并发