2015-05-17 11 views
5

के अंदर लूप चर के लिए एक्सेस करना मेरे पास int के सरणी हैं।एक आंतरिक वर्ग

DataArray[X][Y] 

मैं प्रत्येक एक्स, जो वाई-साथ दोहराता मैं समझ नहीं कैसे प्रत्येक थ्रेड के लिए उपयुक्त एक्स मूल्य पारित करने के लिए के लिए एक धागा बनाने के लिए करना चाहते हैं।

अनिवार्य रूप से मैं केवल final मूल्यों एक विधि-स्थानीय-अनाम-भीतरी वर्ग के भीतर कब्जा किया जा सकता

+0

'मैं प्रत्येक एक्स के लिए एक धागा बनाना चाहता हूं, जो वाई के साथ पुनरावृत्त करता है' क्या आप इसका मतलब बता सकते हैं कि इसका क्या मतलब है? – CKing

+0

वर्तमान में मेरे पास एक मजेदार है जो सरणी के वाई आयाम के साथ जाता है, और प्रत्येक एक्स मान के लिए कहा जाता है। मैं इसके लिए एक लूप के बजाय समवर्ती रूप से किया जाना चाहूंगा। – user1908455

+0

मुझे लगता है कि आपका कोड संकलित नहीं हो रहा है? मेरा जवाब देखें – CKing

उत्तर

6

सराहना की जाएगी

ExecutorService threadPool = Executors.newFixedThreadPool(10); 
for (int i = 0; i < X; i++) { 
    threadPool.submit(new Runnable() { 
    public void run() {   
     Function_to_run(i); 
    } 
    }); 
} 

किसी भी मदद करने में सक्षम होना चाहते हैं।

for (int i = 0; i < X; i++) { 
     final int index = i; 
     threadPool.submit(new Runnable() { 
      public void run() { 

        Function_to_run(index); 

     } 
    }); 
+0

ऐसा लगता है कि काम किया है; इसे कुछ परीक्षण – user1908455

+0

@ user1908455 ठीक कर देगा। अगर यह काम नहीं करता है तो मुझे बताएं। अगर यह काम करता है, तो टिक और अपवॉट करना न भूलें :) – CKing

+1

यह काम कर रहा है :) – user1908455

0

किसी भी स्थानीय चर, औपचारिक विधि पैरामीटर या अपवाद संचालक पैरामीटर का उपयोग किया लेकिन एक आंतरिक वर्ग में घोषित नहीं अंतिम घोषित किया जाना चाहिए: आप इस प्रकार अपने कोड बदलने की जरूरत है। किसी भी स्थानीय चर का उपयोग किया जाता है, लेकिन एक आंतरिक वर्ग में घोषित नहीं किया जाना चाहिए, निश्चित रूप से आंतरिक वर्ग के शरीर से पहले असाइन किया जाना चाहिए।

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