Diferența dintre somn și așteptare Diferența dintre
Sleep vs Wait
deoarece computerele utilizează limbaj artificial pentru a crea programe, a le controla și a le permite să comunice instrucțiuni și să exprime algoritmi. Această limbă se numește limbaj de programare.
Înainte de apariția calculatoarelor, limbile de programare fuseseră deja folosite în războaie și piane. Pe măsură ce utilizarea calculatorului a devenit mai frecventă, au fost folosite mai multe limbi de programare.
Există mai multe limbi de calcul, inclusiv limbi de nivel înalt, cum ar fi: BASIC, C, C ++, Fortran, Pascal și Java. Fiecare mașină virtuală și CPU are propriul limbaj de calculator, fiecare cu propriile sale slăbiciuni și puncte forte, iar fiecare mașină virtuală rulează un fir atunci când este pornit. Acest fir execută codul aplicației din program. Acesta poate face un program să ruleze mai repede și să ajute la performanța și utilitatea lor, mai ales când sunt folosite mai multe fire.
Mașinile virtuale, cum ar fi mașina virtuală Java, acceptă un concept cu mai multe filete, cu fire de prioritate mai mare, executate mai întâi pe fire de prioritate inferioară, care asigură divizarea corectă a procesării timpului.Utilizează metode de gestionare a firelor care pot crea, controla și termina fluxul de comenzi sau fire într-un spațiu partajat. Două dintre aceste metode de gestionare a firelor sunt metodele de așteptare și de somn.
Metoda de așteptare este definită în clasa Obiect și trimite firul curent în starea care nu poate fi rulată. Se utilizează împreună cu metodele de notificare și de notificare pentru a permite temporar suspendarea codului de execuție al unui obiect și reluarea acestuia mai târziu.
Funcționează apelând un obiect de blocare și lăsând thread-ul curent să se sincronizeze cu acesta. Așteptați va elibera încuietoarea și va pune firul în lista de așteptare și va permite sincronizării altor fire cu ea, cauzând trecerea firului original. Programatorul determină momentul specific când execuția începe din nou.
Metoda de somn, pe de altă parte, este definită ca o metodă statică. Întârzie executarea firelor și nu a obiectelor, precum și suspendarea firelor care sunt executate. Acesta trimite thread-urile actuale în stare care nu pot funcționa pentru o anumită perioadă de timp. Poate afecta comportamentul aplicațiilor care sunt multi-threaded deoarece păstrează blocările de sincronizare ale firului curent. Odată ce firul este într-un bloc sincronizat, niciun alt fir nu poate intra în bloc.
Rezumat:
1. "Sleep" este o metodă de gestionare a firelor care este definită ca o metodă statică, în timp ce "wait" este o metodă de gestionare a firelor care este definită în clasa Object.
2. Sleep este o metodă care execută fire în timp ce așteptați este o metodă care execută obiecte.
3. Sleep păstrează blocările de sincronizare ale firului curent și influențează comportamentul aplicațiilor în timp ce așteptați.
4. Sleep controlează execuția firului și nu permite altor fire într-un bloc sincronizat în timp ce așteptați nu controlează executarea firului pentru a permite ca alte fire să ruleze.