2011-01-31 7 views
10

मुझे निलंबित किए गए प्रेषण को फिर से शुरू करने के लिए dispatch_resume(...); का उपयोग करना होगा, लेकिन प्रेषण को फिर से शुरू करने की विधि को ऐप के कई हिस्सों द्वारा बुलाया जा सकता है, मुझे पता होना चाहिए कि प्रेषण निलंबित कर दिया गया है या नहीं इसे फिर से शुरू करने से पहले (दस्तावेज़ों का कहना है कि मुझे प्रेषण फिर से शुरू करना/निलंबित करना है और निलंबन से अधिक रिज्यूमे नहीं हो सकते हैं, या मैं "ऋणात्मक निलंबन काउंटर" के साथ समाप्त हो जाऊंगा।आईफोन - जीसीडी जांच करें कि कतार निलंबित कर दिया गया है

क्या कोई परीक्षण करने का कोई तरीका है प्रेषण निलंबित कर दिया गया है?

उत्तर

13

डिज़ाइन (और जैसे कि रद्दीकरण तंत्र नहीं है) द्वारा नहीं किया गया है। निलंबन/फिर से शुरू करने की धारणा को प्रत्येक बिट को सावधानीपूर्वक संतुलित किया जाना चाहिए क्योंकि

यही है, अगर ए कतार को निलंबित करता है, तो बी को सुरक्षित रूप से यह जानने का कोई तरीका नहीं है कि यह ए के अंतरंग ज्ञान के बिना कतार फिर से शुरू कर सकता है। यह देखते हुए कि प्रेषण एपीआई की जटिलता जोड़ने के लिए कोई कारण नहीं है निलंबित प्रश्न हैं और पूरे स्थान पर फसल की पूरी कक्षा को सक्षम कर सकते हैं।

+0

ठीक है। धन्यवाद। मुझे संदेह था कि। – SpaceDog

+0

स्विफ्ट 3/आईओएस 10 में, ऐसा लगता है कि एक रद्द तंत्र ('.cancel()') है ... क्या अभी भी कोई जांच नहीं है कि 'डिस्पैचसोर्स टाइमर' निलंबित हो गया है या नहीं? धन्यवाद! –

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