मैं एक असंबद्ध उपभोक्ता के साथ एक निर्माता-उपभोक्ता समस्या पर काम कर रहा हूं। प्रोड्यूसर प्रोसेसिंग कतार में जितना चाहें उतने कार्यों को डाल सकता है। जब कतार खाली होती है तो उपभोक्ता थ्रेड को अवरुद्ध कर देगा।लिनक्स पर जीसीडी मेमोरी ब्लोट स्विफ्ट
while true {
do {
guard let job = try self.queue.dequeue() else { return }
job.perform()
} catch {
print(error)
}
}
आम तौर पर मैं सब कुछ एक ऑटोरेलीज पूल में लूप में डालता हूं, हालांकि, यह लिनक्स पर उपलब्ध नहीं है। ऐसा लगता है कि ARC
लूप में ऑब्जेक्ट्स को कभी भी जारी नहीं कर रहा है। मेमोरी उपयोग को नियंत्रित करने के बारे में मुझे कैसे जाना चाहिए?