New tasks submitted in method execute(java.lang.Runnable) will be rejected when the Executor has been shut down, and also when the Executor uses finite bounds for both maximum threads and work queue capacity, and is saturated.
Heena Agarwal wrote:
I hope you don't have this line anywhere in your run/call method.
Jaikiran Pai wrote:
Heena Agarwal wrote:
I hope you don't have this line anywhere in your run/call method.
Given the stacktrace, I don't think that's the case.
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
queue size = 0
counter =0
counter =4
counter =1
counter =2
counter =3
counter =5
counter =6
counter =7
counter =8
counter =10
counter =11
counter =9
counter =13
counter =12
counter =15
counter =14
counter =16
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
counter =17
counter =18
counter =19
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at threadandsynchronization.TestCallable.main(TestCallable.java:51)
Caused by: java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
at threadandsynchronization.TestCallable.call(TestCallable.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Heena Agarwal wrote:
Jaikiran Pai wrote:
Heena Agarwal wrote:
I hope you don't have this line anywhere in your run/call method.
Given the stacktrace, I don't think that's the case.
This is interesting. Seriously. Or I must be missing something very significant cause I don't know much.
But how is that short part of trace so telling?
java.util.concurrent.RejectedExecutionException
java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:233)
java.util.concurrent.RejectedExecutionException
at threadandsynchronization.TestCallable.call(TestCallable.java:26)
Heena Agarwal wrote:
Like you said, the hard part is still remaining though.. :-)
Sean Chuang wrote:is it because the JVM only allow one threadpool to work properly?
Sean Chuang wrote:
java.util.concurrent.ExecutionException:
java.util.concurrent.RejectedExecutionException
Consider Paul's rocket mass heater. |