2010-11-30 14 views
5

मैं कई अनुसूचित कार्यों को एक साथ चलाने के लिए चाहता हूं।@ शेड्यूल्ड और शेड्यूलर: पूल आकार क्या करता है?

जब वसंत ऐसा करने के लिए कॉन्फ़िगर करना, मैं नियोजक को एक पूल आकार की आपूर्ति कर सकते हैं:

<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/> 
<task:executor id="myExecutor" pool-size="32"/> 
<task:scheduler id="myScheduler" pool-size="1000"/> 

लेकिन ppol आकार यहां वास्तव में क्या मतलब है?

क्या इसका मतलब यह है कि यह केवल 1000 निर्धारित तरीकों को स्टोर कर सकता है या इसका मतलब यह है कि एक ही समय में केवल 1000 तरीके संसाधित किए जा सकते हैं?

tldr; यदि @Scheduled (fixedDelay = 60) एनोटेटेड विधि इस समय निष्पादित नहीं है (जिसका अर्थ है कि यह देरी के बीच है), क्या यह पूल भरता है या नहीं?

उत्तर

4

यह उन धागे की संख्या को संदर्भित करता है जिन्हें अंतर्निहित थ्रेडपूलएक्ससेलर द्वारा एक बार में पूल किया जा सकता है यानी एक ही समय में चलने वाली विधियों की संख्यात्मक संख्या।

task namespace पर प्रलेखन आपको बहुत सारी जानकारी में जाता है।

मुझे उम्मीद है कि 1000 थ्रेड शायद अधिकांश वातावरण में बहुत अधिक होने जा रहे हैं।

+0

तो इसे निष्पादन तक पूल नहीं किया गया है? निष्पादन समाप्त होने पर, संबंधित थ्रेड को पूल से अगले निष्पादन तक हटा दिया जाता है? – chzbrgla

+1

प्रलेखन 'पूल-आकार' के अर्थ के बारे में विशिष्ट नहीं है, लेकिन आमतौर पर, इसका मतलब है कि थ्रेड की कुल संख्या किसी भी समय मौजूद होगी। उनमें से कुछ व्यस्त हो सकते हैं, और कुछ निष्क्रिय हो सकते हैं, लेकिन सभी को पूल में माना जाता है। –

+0

@ टॉम - आप इस बारे में सही हैं कि पूल कैसे काम करेगा, लेकिन दस्तावेज़ीकरण बहुत विशिष्ट है: यह थ्रेडपूल टास्क एक्सक्लूसर का उपयोग करता है और पूल आकार उस पर पास हो जाता है। – GaryF

संबंधित मुद्दे