Sunteți pe pagina 1din 3

Laborator 5

Tema: Folosirea executiei concurente prin apeluri asincrone.


Folosirea mecanismelor: future, promises si thread_pool. Analiza
imbunatatirii performantei executiei unei aplicatii (de tip
business) prin programare concurenta. Magazin Un magazin
vinde produse pentru care are o evidenta caracterizata de
urmatoarele atribute (nume, cod, pret_unitar, unit_masura,
pret_unitar). Se pot opera mai multe vanzari simultane care
trebuie sa inregistreze automat modificarile de stocuri. Se
mentine o evidenta si a vanzarilor si a facturilor emise; facturile
sunt caracterizate de (data, lista_produse, suma_totala). Se
mentine de asemenea si un sold total (suma existenta in casa).
Periodic sistemul face o verificare a stocurilor prin verificarea
corespondentei corecte intre stoc, totalitatea produselor
vandute (de la ultima verificare pana in prezent), sumele
incasate in aceeasi perioada si soldul total.

Pentru a simula vanzarile se vor implementa urmatoarele


variante:

1) initierea vanzarilor printr-o interfata minimala;

2) crearea unui thread paralel care initiaza/creeaza la interval


de 5 sec o noua vanzare folosind date generate aleatoriu;

3) [optional] adaptarea problemei pentru a fi o aplicatie client-


server prin care vanzarile sunt initiate remote de client, iar pe
server se face gestiunea magazinului. (Aceasta varianta poate fi
predata si dupa deadline-ul corespunzator laboratorului 5 si in
caz de succes conduce la marirea notei finale de laborator cu 2
puncte.)

Pentru testare/verificare se cere salvarea pe suport extern a


listei cu produse, a listei facturilor si a rezultatelor operatiilor de
verificare executate periodic. Limbajul de implementare: la
alegere

Deadline: saptamana 9
Diagrama

Package server:

Package model:
Package client:

Pornim serverul si clientul, clientul afiseaza meniul cu optiunile


posibile:
Client:
1.List products
2.Buy product
3.Inventory
-prin optiunea list products afiseaza toate produsele
disponibile
-prin optiunea buy product se efectueaza cumpararea
unui produs
-prin optiunea inventory se efectueaza verificarea de
stocuri
Server:
-efectueaza operatie primita de la client
-la fiecare 8 secunde face o verficare de stocuri
-la fiecare 5 secunde face o cumparare de produs

S-ar putea să vă placă și