Java 在线程池中执行runnable时,给定线程不存在
我的应用程序有以下问题: 为了在后台执行一些操作,我声明了一个ThreadPoolExecutorJava 在线程池中执行runnable时,给定线程不存在,java,android,multithreading,thread-safety,Java,Android,Multithreading,Thread Safety,我的应用程序有以下问题: 为了在后台执行一些操作,我声明了一个ThreadPoolExecutor private static ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(5, 100, 100, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(100)); 但应用程序在这一点上崩溃了,它说: java.lang.IllegalArgume
private static ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(5, 100,
100, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(100));
但应用程序在这一点上崩溃了,它说:
java.lang.IllegalArgumentException: Given thread does not exist
代码有什么问题?谢谢您的意思可能是
setThreadPriority
而不是getThreadPriority
poolExecutor.execute (new Runnable() {
public void run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
...
}
您可能是指
setThreadPriority
而不是getThreadPriority
poolExecutor.execute (new Runnable() {
public void run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
...
}
我认为
getThreadPriority
方法需要一个线程ID作为param,而您需要一个线程优先级。我认为getThreadPriority
方法需要一个线程ID作为param,而您需要一个线程优先级。