[jboss-jira] [JBoss JIRA] Created: (JGRP-1051) TimeScheduler: replace use of ScheduledThreadPoolExecutor with ConcurrentSkipListMap

Bela Ban (JIRA) jira-events at lists.jboss.org
Thu Sep 17 07:26:23 EDT 2009


TimeScheduler: replace use of ScheduledThreadPoolExecutor with ConcurrentSkipListMap
------------------------------------------------------------------------------------

                 Key: JGRP-1051
                 URL: https://jira.jboss.org/jira/browse/JGRP-1051
             Project: JGroups
          Issue Type: Feature Request
            Reporter: Bela Ban
            Assignee: Bela Ban
             Fix For: 2.9
         Attachments: TimeScheduler.java

TimeScheduler currently extends ScheduledThreadPoolExecutor, which uses a DelayQueue for keeping an ordered list of tasks (ordered by their execution times).
DelayQueue doesn't provide good speed, e.g. (IIRC) remove() requires a linear list scan.

ConcurrentSkipListMap however provides O(log(n)) cost for get(), put(), remove() and containsKey(). Attached is a cursory impl of TimeScheduler based on ConcurrentSkipListMap. It is faster than the old version.

Since ConcurrentSkipListMap requires JDK 1.6, we cannot use this in 2.6.x. It can be used in 3.0 only, or perhaps - after a discussion on the mailing list - in 2.9...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list