[ https://issues.apache.org/jira/browse/ARTEMIS-2177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Nigro updated ARTEMIS-2177: ------------------------------------- Description: Currently ActiveMQThreadPoolExecutor uses internally a shared LinkedBlocking queue that always perform a lock to push messages into the queue and signal to wake up any (if any) awaiting consumer thread. This same behaviour could be improved both by: - using a lock-free queue that would eventually signal any (if any) threads only if there is some - using a work stealing pool was: Currently ActiveMQThreadPoolExecutor uses internally a shared LinkedBlocking queue that would always perform a lock to push messages into the queue and will signal to wake up any (if any) awaiting consumer thread. This same behaviour could be improved both by: - using a lock-free queue that would eventually signal any (if any) threads only if there is some - using a work stealing pool > Improved behaviour of the common thread pool under contention > ------------------------------------------------------------- > > Key: ARTEMIS-2177 > URL: https://issues.apache.org/jira/browse/ARTEMIS-2177 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: Broker > Affects Versions: 2.6.3 > Reporter: Francesco Nigro > Assignee: Francesco Nigro > Priority: Major > > Currently ActiveMQThreadPoolExecutor uses internally a shared LinkedBlocking > queue that always perform a lock to push messages into the queue and signal > to wake up any (if any) awaiting consumer thread. > This same behaviour could be improved both by: > - using a lock-free queue that would eventually signal any (if any) threads > only if there is some > - using a work stealing pool -- This message was sent by Atlassian JIRA (v7.6.3#76005)