2008-12-10 15 views
10

मैंने ब्लैकबेरी थ्रेडिंग मॉडल जावा मानक से विचलित होने के कारण कई टिप्पणियों को पढ़ा है और मुद्दों का कारण बन सकता है, लेकिन गुगलिंग की कोई मात्रा मुझे इस बात का ज्ञान नहीं देती है कि इसका क्या मतलब है।ब्लैकबेरी थ्रेडिंग मॉडल

मैं ब्लैकबेरी के लिए काफी बड़ा व्यवसाय अनुप्रयोग विकसित कर रहा हूं और, हालांकि मुझे जावा बहु-थ्रेडेड अनुप्रयोगों के साथ वास्तव में कोई पिछला अनुभव नहीं है, लेकिन हम किसी भी मुद्दे पर नहीं आये हैं थ्रेडिंग पर दोष, जो हमने खुद को बनाया है उसके अलावा।

क्या कोई वर्णन कर सकता है कि ब्लैकबेरी थ्रेडिंग मॉडल अलग कैसे है, और मैं डेवलपर के रूप में इसे कैसे ध्यान में रखना चाहिए? जाहिर है विषय पर कोई भी लिंक भी महान होगा।

उत्तर

0

एकमात्र मुद्दा जिसे मैं सोच सकता हूं another stackoverflow question के उत्तर में चर्चा की गई है।

+0

यह किसी भी प्लेटफ़ॉर्म के लिए प्रासंगिक जेनेरिक थ्रेडिंग समस्या से अधिक है, मैं ब्लैकबेरी जेवीएम में धागे के विशिष्ट कार्यान्वयन का जिक्र कर रहा हूं। – roryf

2

दो quirks मैं ब्लैकबेरी मंचों में पाया:

  1. वेक्टर सुरक्षित थ्रेड नहीं है।
  2. यदि आप मूल ब्लैकबेरी सीएलडीसी ऐप बना रहे हैं, तो एक स्थिर वीएम पर एक सिंगलटन आवश्यक नहीं है।
16

1.UI यूजर इंटरफेस आपरेशन हमेशा यूआई धागा में चलाने के लिए की जरूरत है। ना

UiApplication.getUiApplication().invokeLater(new Runnable(){ 
    public void run(){ 
    myLabelField.setText("foo"); 
    myLabelField.setDirty(true); 
    } 
}); 

सुंदर आसान: LabelField.setText("foo"); की तरह इस तरह के कार्यों को निष्पादित करने के तुम क्या करने की आवश्यकता है?

2. नेटवर्क नेटवर्क ऑपरेशन यूआई थ्रेड के भीतर कभी भी रन नहीं होना चाहिए। ऐसी चीजें करने के लिए:

new Thread(){ 
    public void run(){ 
    HttpConnection hc = 
      (HttpConnection)Connector.open("http://www.stackoverflow.com"); 
    } 
}.start(); 

ये दो मुख्य सिद्धांत बहुत महत्वपूर्ण हैं। आपको हमेशा इस बात का ख्याल रखना चाहिए कि आप किस धागे पर काम कर रहे हैं।

1

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

इस मामले में डेस्कटॉप जावा को ब्लैकबेरी जावा कहा जाता है, इस मामले में बहुत अंतर हैं ... मेरा विश्वास करो!

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