Timpul de execuție se va reseta la 0 în momentul în care permiți threadului să continue execuția, pentru că nu a fost în timpul execuției în acel moment. Eu am scos punctajul pe care îl vezi pe VMchecker (100) cu un singur counter global de instrucțiuni.
Un thread este preemptat doar dacă un thread *de prioritate mai mare* este semnalat și intră în starea ready. Din cele 2 threaduri de prioritate 5, nu sunt sigur că există vreo ordine cerută, dar eu am păstrat ordinea în care au apelat ele wait. În situația ta, cred că oricare din threaduri este ok să fie rulat primul (codul meu îl va pune în mod consistent pe primul care a ajuns la wait) și când începe să ruleze counterul pentru timpul de execuție va fi resetat la maxim (va avea o cuantă full în momentul în care începe să ruleze). Wait nu l-am considerat drept instrucțiune dpdv al cuantei de timp pt că oricum este o funcție blocantă. Sent from Mail for Windows 10 From: Bogdan POPA (87497) via so Sent: Tuesday, May 7, 2019 2:57 PM To: so@cursuri.cs.pub.ro Subject: [so] [Tema4] Nelamuriri functie wait Bună ziua, Am câteva întrebări în legătură cu funcția de wait. Din câte am înțeles, mai multe thread-uri pot face wait pentru același eveniment (sau i/o). De asemenea, se menționează că un thread este preemptat dacă un thread din starea waiting a fost semnalat și intră în starea ready. Întrebarea mea este, considerând situația în care avem un thread cu prioritate 3 care rulează, dacă avem două thread-uri cu prioritate 5 ce au fost semnalate, are vreo relevanță pe care dintre ele îl programăm să execute primul? Pe lângă asta, aș vrea să știu ce se întâmplă cu timpul de execuție al unui thread ce a ieșit din starea waiting. Acesta este resetat la valoarea maximă, sau rămâne la valoarea pe care o avea înainte de execuția operației wait (eventual scăzând o unitate de timp, dacă se consideră și wait că instrucțiune)? Numai bine, Bogdan Popa. _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii