मैं अपने आवेदन में ब्लॉक के साथ कई असीमित निष्पादन करता हूं।उन सभी धागे को कैसे मारें जिन्हें वे मुख्य धागे नहीं हैं?
लेकिन मुझे अपने सभी अनुप्रयोगों में एक निश्चित घटना दिखाई देने पर सभी धागे को मारने की जरूरत है जो वे मुख्य धागे नहीं हैं।
तो क्या सभी ब्लॉक के निष्पादन को रोकना संभव है? या अन्य शब्दों में, उन सभी धागे को मार दें जिन्हें वे मुख्य धागे नहीं हैं?
पीएस: मैंने NSOperationQueue के अंदर ब्लॉक निष्पादित करने का प्रयास किया, लेकिन मेरा पहला ऑपरेशन अच्छा समय पर शुरू नहीं होता है जबकि अनुवर्ती करता है।
मेरा दृश्य चित्र प्रदर्शित करता है, और मैं अपने थंबनेल और असीमित रूप से लोड करके शुरू करता हूं, मैं असली तस्वीर चार्ज करता हूं और जैसे ही इसे लोड किया जाता है, यह थंबनेल की बजाय प्रदर्शित होता है। लेकिन यदि उपयोगकर्ता के पास एक भारी तस्वीर है जो पृष्ठभूमि में लोड होती है और यदि वह अगली तस्वीर पर स्वाइप करता है, तो पिछली भारी तस्वीर पृष्ठभूमि में लगातार लोड हो रही है, और यदि नई तस्वीर थोड़ी सी है, तो भारी तस्वीर लोड होने के बाद समाप्त होता है, और यह दृश्य पर नई तस्वीर का अधिग्रहण करता है। तो, मेरे कोड में, जब उपयोगकर्ता अगली तस्वीर पर स्वाइप करता है तो मैंने सभी पृष्ठभूमि थ्रेड को रोकने की कोशिश की। यह मेरी समस्या है। –
यह एक क्लासिक उपयोग केस है जिसे किसी भी थ्रेड को मारने की आवश्यकता नहीं है। मेरा सुझाव है कि आप छवि लोडिंग को रद्द करने योग्य 'NSOperation' के रूप में कार्यान्वित करें और छवि लोड होने पर छवि लोडिंग रद्द करें। – zoul