我正在尋找將一些使用java.util.concurrent.ConcurrentSkipListSet的代碼移植到此類不可用的環境(特別是android 2.2)。因此,我正在尋找替代品。我的要求是:java.util.concurrent.ConcurrentSkipListSet的替代品
- 基本的「設置」執行(不需要NavigableSet或類似)
- 標準操作必須是線程安全的(我沒有很高的呼叫量,所以鎖定是可以接受的)
- 迭代器不能拋出ConcurrentModificationException
- 迭代器必須支持remove()操作
任何想法?
您是否嘗試過複製ConcurrentSkipListSet的源代碼並查看它是否適用於Android 2.2?你有在那裏工作的JDK5基礎的concurreny類,對嗎? – Thilo 2012-03-22 05:33:08
這可能是可行的,但很可能是一些工作,因爲ConcurrentSkipListSet似乎使用其他java.util.concurrent類的包私有方法。我不知道我最終會複製多少課。我希望有可以做這項工作的替代實現,但如果沒有,我想這是最好的前進方向。 – Jules 2012-03-22 07:08:19
雖然查看ConcurrentSkipListSet的源代碼讓我想起了之前我注意到的一些東西:HashSet的源代碼(http://kickjava.com/src/java/util/HashSet.java.htm)非常簡單,並且使用HashMap執行其所有工作。我想知道是否複製這個代替ConcurrentHashMap會做我想要的? – Jules 2012-03-22 08:03:29