Middle
Mis vahe on järjekorril ja niidil?
sobes.tech AI
Vastus AI-lt
Juhik (Thread) - on operatsioonisüsteemis kõige väiksem täitmise planeerimise üksus. See esindab eraldi koodi täitmise teed.
Järjekord (Queue) - on andmestruktuur või konkurentsi API kontekstis mehhanism ülesannete (koodiplokkide) organiseerimiseks ja järjepidevaks täitmiseks. Järjekord määrab järjekorra, milles ülesanded saadetakse täitmiseks juhile.
Peamised erinevused:
| Parameeter | Juhik (Thread) | Järjekord (Queue) |
|---|---|---|
| Objekt | Koodi täitmise üksus | Mehhanism ülesannete organiseerimiseks |
| Resurss | Vajab süsteemi ressursse loomise/haldamise jaoks | Ei ole ise arvutusressurss |
| Planeerimine | Planeeritakse operatsioonisüsteemi poolt | Määrab järjekorra, kuidas ülesanded saadetakse juhile |
| Ülesanded | Täidab ühte ülesannet korraga | Sisaldab mitmeid ülesandeid täitmiseks |
| iOS/macOS | Madala taseme juhtimine (harva otse) | Kõrge taseme konkurentsi juhtimine (DispatchQueue, OperationQueue) |
iOS arenduses töötame sagedamini järjekordadega (DispatchQueue) või operatsioonidega (OperationQueue), mis abstraktselt haldavad tööga seotud juhte. Järjekorrad asetavad ülesanded õiges järjekorras ning juhte haldav süsteem (nt GCD) määrab need saadaval olevatele juhtele täitmiseks.