Sobes.tech
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.