मुझे Map
(या कोई भी संग्रह) की आवश्यकता है जो प्रविष्टियों के लिए समय-सारिणी का समर्थन करता है और उन्हें स्वचालित रूप से हटा देता है।स्वचालित रूप से समाप्त होने वाले तत्वों के साथ मानचित्र
मुझे पता है कि अमरूद MapMaker
है, लेकिन यह अपने तत्वों को स्वचालित रूप से चलने वाले थ्रेड द्वारा क्रमशः पढ़ने/लिखने के संचालन पर समाप्त करता है। इसके अलावा MapMaker
की समाप्ति क्षमताओं को अब CacheBuilder
पर ले जाया गया है। बात यह है कि, मुझे कैश नहीं चाहिए - मैं तत्वों की समाप्ति करना चाहता हूं
क्या कुछ उपयोग करने के लिए तैयार है? बल्कि नहीं http://code.google.com/p/concurrentlinkedhashmap/wiki/ExpirableCache
... यह अनसुलझे आयात के बहुत सारे हैं: (यह मुश्किल इसे अपने आप को लागू करने के लिए नहीं है, लेकिन यह कुछ पुन: उपयोग करना बेहतर है)
आप किसी भी तरह स्पष्ट रूप से करने के लिए तत्वों की जरूरत है "मर" समय पर (जैसे कुछ विधि को फोन करके)? यदि आपको केवल समय समाप्त होने वाले तत्वों को फेंकने की आवश्यकता है, तो एक्सेस समय पर तत्वों के टाइमस्टैम्प की जांच करना पर्याप्त होना चाहिए। – 9000
आप समय-समय पर चलने वाली प्रविष्टियों के निष्कासन को ट्रिगर करने के लिए चल रहे थ्रेड को Cache.cleanup() पर कॉल कर सकते हैं। तत्काल नहीं, एक चलने वाले थ्रेड में आंतरिक रूप से बहुत सी सीमाएं थीं (जे 2 ईई/जीएई संगत नहीं, कुत्ते के प्रभाव से पीड़ित है, आदि)। –
@ बेन मैनस सुझाव के लिए धन्यवाद। हालांकि मुझे कैश इंटरफ़ेस पसंद नहीं है। सबसे पहले, यह आपको मूल्य गणना निर्दिष्ट करने के लिए मजबूर करता है। मुझे इसकी आवश्यकता नहीं है। अगर मैं शून्य लौटाता हूं, तो यह एनपीई फेंकता है। ऐसा इसलिए है क्योंकि यह हमेशा getOrCompute को कॉल करता है, और मुझे बस एक साधारण मानचित्र की तरह मिलना चाहिए। फिर, एनपीई को पकड़ने के साथ भी, मैं इसे काम नहीं कर सका (शायद मेरी गलती), लेकिन यह हमेशा प्रविष्टियों की समाप्ति कर रहा था, भले ही उन्हें एक्सेस किया गया हो। – Bozho