Memory usage by using BlockingQueue in ThreadPoolExecutor

2015-12-15T07:14:50

I noticed the size of each Runnable object is around 600KB. I am using the BlockingQueue with fix size of 10000. From the logging message, I saw all the 9864 objects had put into the queue. I did not see any the memory usage drastically increased. Should the queue be consuming 6GB (600KB x 9864) of memory?

Copyright License:
Author:「user3842642」,Reproduced under the CC 4.0 BY-SA copyright license with link to original source & disclaimer.
Link to:https://stackoverflow.com/questions/34278352/memory-usage-by-using-blockingqueue-in-threadpoolexecutor

About “Memory usage by using BlockingQueue in ThreadPoolExecutor” questions

I noticed the size of each Runnable object is around 600KB. I am using the BlockingQueue with fix size of 10000. From the logging message, I saw all the 9864 objects had put into the queue. I did n...
In the Oracle site (http://docs.oracle.com/javase/7/docs/api/?java/util/concurrent/ThreadPoolExecutor.html) under Queuing section, its mentioned that "If corePoolSize or more threads are running, the
Can Threadpoolexecutor change its blockingqueue after start? I am using multiple threadpoolexecutors in my process. I don't want to breach the maximum number of threads beyond a certain number in my
The JavaDoc for ThreadPoolExecutor is unclear on whether it is acceptable to add tasks directly to the BlockingQueue backing the executor. The docs say calling executor.getQueue() is "intended prim...
I am developing a queue-based application using Java. I would like to use a ThreadPoolExecutor with blocking queue. However, the blocking queue need to be in priority, then (First In First Out) FIFO
I'm developing a service which would pars large files simultaneously. I want to use ThreadPoolExecutor for my purposes, but problem is that by default ThreadPoolExecutor keep incoming tasks in
I have tried creating and executing ThreadPoolExecutor with int poolSize = 2; int maxPoolSize = 3; ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(2); If i try 7...
I was looking at the "usage example based on a typical producer-consumer scenario" at: http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html#put(E) Is the example
I have a process that fetches some ids and based on those ids, i fetch (pandas)dataframes from the database, after some processing, the data frames are stored to file system using to_csv and then the
Ok it seems crazy somehow but I need the ThreadPoolExecutor to throw Out of Memory for experimental stuff I need the ThreadPoolExecutor to throw RejectedExecutionException for experimental stuff I

Copyright License:Reproduced under the CC 4.0 BY-SA copyright license with link to original source & disclaimer.