Junior — Middle
Πώς μπορεί μια ουρά να επεξεργάζεται ταυτόχρονα πολλές εργασίες ή λειτουργίες;
sobes.tech AI
Απάντηση από AI
Στο iOS, για την επεξεργασία πολλαπλών εργασιών ταυτόχρονα, συχνά χρησιμοποιείται η Παράλληλη Ουρά Dispatch (concurrent queue) του GCD (Grand Central Dispatch). Αυτή η ουρά επιτρέπει την εκτέλεση πολλαπλών λειτουργιών παράλληλα, κατανεμόντας τις σε διαφορετικά νήματα, κάτι που αυξάνει την απόδοση.
Παράδειγμα: αν έχετε πολλές ανεξάρτητες εργασίες, μπορείτε να τις προσθέσετε σε μια παράλληλη ουρά, και θα εκτελεστούν ταυτόχρονα αντί να σειριακά.
let concurrentQueue = DispatchQueue(label: "com.example.concurrentQueue", attributes: .concurrent)
concurrentQueue.async {
print("Εργασία 1")
}
concurrentQueue.async {
print("Εργασία 2")
}
Έτσι, μια ουρά μπορεί να διαχειριστεί πολλές εργασίες ταυτόχρονα μέσω παράλληλης εκτέλεσης σε διαφορετικά νήματα.