我需要在Java中管理大量的串行调度队列。每个引擎模块都需要一些引擎模块来管理自己的运行循环(其中一些模块可能很快完成,另一些模块可能会阻塞很长时间)。提交给每个引擎的作业必须按顺序运行。理想情况下,每个引擎都有一个线程池,该线程池在0到1个线程之间进行伸缩,使得ExecutorService既可以是串行的,也可以在有数百个线程的情况下资源不太大,但只有少数线程在看到活动。TimeUnit.SECONDS, new
我一直在阅读(例如和),使用-XX:+UseSerialGC垃圾收集器时,只使用单个线程进行垃圾收集。但尚不清楚这个“单线程”是main线程还是另一个GC线程。因此,我使用和不带-XX:+UseSerialGC的线程转储,在我看来,当使用此选项时,GC由main线程执行,因为我在使用-XX:+UseSerialGC时没有看到任何GC线程(如"GC task thread> (a java.lang.ref.Reference$Lock)
除了我使用带有android:minSdkVersion="14“的Android4.0之外,我也有同样的问题。bar bar barbar bar bar我找到了解决方案task.execute();task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, null);