समाप्त करने के लिए प्रतीक्षा करें, मैं अपने स्विंगवर्कर के काम को पूरा करने के लिए इंतजार करना चाहता हूं, और फिर मैं एक और स्विंगवर्कर निष्पादित करना चाहता हूं। इस मामले में Encrypteer3 एक वर्ग है जो स्विंगवर्कर को बढ़ाता है।स्विंगवर्कर को
मेरे कोड:
input = txtTekst.getText();
key = txtKey.getText();
System.out.println("thread1 start");
Encrypteer3 a = new Encrypteer3();
a.execute();
while(a.isDone()==false){
// do nothing
}
input = output;
key = txtKey1.getText();
System.out.println("thread2 start");
Encrypteer3 b = new Encrypteer3();
b.execute();
while(b.isDone()==false){
// do nothing
}
यह मेरा जीयूआई फ्रीज बनाता है और (जब यह क्रियान्वित जावा CPU के लगभग 95% का उपयोग करता है) सीपीयू का एक बहुत उपयोग करता है। मुझे लगता है कि समस्या यह है कि यह लगातार जांच रहा है कि धागा किया जाता है और यही कारण है कि यह इतना सीपीयू गहन बनाता है।
स्विंगवर्कर वर्ग पर कोई भी शामिल() विधि नहीं है। मैं इस कम सीपीयू को गहन कैसे बना सकता हूं?
से अपवाद (रों) प्राप्त करने के लिए समस्या यह है कि मैं स्थिति के आधार पर स्विंगवर्कर का एक अलग संख्या का उपयोग करता हूं। मैंने प्रॉपर्टी चेंजलिस्टर का इस्तेमाल किया और यह चाल है! उत्तर – user1026090
@ user1026090 के लिए धन्यवाद: हाँ, एक संपत्तिChangeListener आपकी समस्या को हल करने का एक और शानदार तरीका है। 1+ आप और जावा, mkorbel और kowser के लिए। –