Sto scrivendo uno script rapido da eseguire nel terminale che invia al thread in background un paio di operazioni. Senza ulteriori sforzi, dopo che il mio invio è stato completato, il codice raggiunge la fine del file e si chiude, uccidendo anche le mie operazioni in background. Qual è il modo migliore per mantenere in vita lo script rapido fino al termine delle operazioni in background?In attesa di chiamate asincrone in uno script rapido
Il meglio che ho trovato è il seguente, ma non credo che questo sia il modo migliore, o addirittura corretto.
var semaphores = [dispatch_semaphore_t]()
while x {
var semaphore = dispatch_semaphore_create(0)
semaphores.append(semaphore)
dispatch_background {
//do lengthy operation
dispatch_semaphore_signal(semaphore)
}
}
for semaphore in semaphores {
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
}
possibile duplicato di [Multiple worker in Swift Command Line Tool] (http://stackoverflow.com/questions/28590701/multiple-workers-in-swift-command-line-tool) –