व्यवहार पर सुनिश्चित नहीं हैं कि एक ही नाम हिस्सेदारी के साथ धारावाहिक कतारों बनाने करो,, 2 वस्तुओं एक ही कतार
मैं कई वस्तुओं के साथ एक वर्ग है - प्रत्येक वस्तु के साथ एक कतार बनाता है वही नाम। मुझे यकीन नहीं है कि क्या जीसीडी वस्तुओं के बीच एक ही कतार का उपयोग कर रहा है या यदि वे सिर्फ वही नाम साझा करते हैं।
उदाहरण के लिए
@interface MyClass
-(void)doSomeWork
@property (nonatomic,strong) dispatch_queue_t myQueue;
@end
@implementation MyClass
-(id)init
{
self = [super init];
self.myQueue = dispatch_queue_create("MyQueue",DISPATCH_QUEUE_SERIAL);
return self;
}
-(void)doSomeWork
{
dispatch_async(self.myQueue,^{
// some long running work
});
}
@end
@interface SomeClassWhichCreatesALotOfObjects
@end
@implementation SomeClassWhichCreatesALotOfObjects
-(void)someMethod
{
for(int i = 0; i < 10000; i++)
{
MyClass *object = [MyClass new];
[object doSomeWork]; // are these running in serial to each other or are each offset to the queue their object has created? Can't understand from the debugger
}
}
@end
इसलिए वे अलग-अलग कतार हैं। अब मैं एक ही कक्षा –
की वस्तुओं के बीच उपयोग की जाने वाली एक कतार कैसे बना सकता हूं, मैंने कोड को शामिल करने के लिए उत्तर संपादित किया। –
क्या इस फ़ंक्शन के पैरामीटर के रूप में कतार नाम स्ट्रिंग को पास करना ठीक है? @GuyKogus –