You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Isto é de uma nota que escrevi depois de acordar às 5 da manhã:
Array de structs
Struct:
bit ocupado,
tempo em que começou,
duração,
bit reservado - 1 caso esteja resrevado, 0 otherwise.
Para encontrar lugar faz for pelo array, caso haja lugar livre dá esse lugar, enquanto dá for guarda qual é que tem:
o maior tempo que começou, <- errado
o menor (tempo começou + duração)
se chegou ao fim e não tem lugar vai ficar reservado o lugar com o menor tempo calculado em cima, thread espera esse tempo e designa lugar.
Possíveis erros : Server demora demasiado tempo a responder e cliente dá erro.
FAILD - cliente já não consegue receber resposta do servidor
GAVUP - servidor já não consegue responder a pedido porque FIFO privado do cliente fechou
Ou então pode ser mais simples e caso haja lugar dá-se esse lugar, senão manda -1 ou então usa-se estas 2 flags. Not sure, deve ser preciso perguntar ao stor
Enquanto thread de server espere que haja um lugar livre também pode ir verificando se o server está closed. Terá de atender na mesma mas serve para avisar as outras threads
The text was updated successfully, but these errors were encountered: