Diferente pentru blog/programare-concurenta intre reviziile #6 si #7

Nu exista diferente intre titluri.

Diferente intre continut:

Este încă relativ neplăcut să scrii programe concurente, dar lucrurile evoluează rapid înspre bine.
Iată câteva exemple de primitive concurente de nivel înalt care câştigă teren: memorie tranzacţională, futures, MapReduce.  Toate trei merită învăţate. Alternativa, să foloseşti chestii de genul „synchronized” în Java sau pthreads
în C, e ca şi când ai programa în limbaj de asamblare deşi a apărut deja Pascal.  În mare, scopul primitivelor concurente de nivel înalt este să permită programatorilor să pretindă că anumite bucăţi de cod se execută secvenţial, fără interferenţe.
Iată câteva exemple de primitive concurente de nivel înalt care câştigă teren: memorie tranzacţională, futures, MapReduce.  Toate trei merită învăţate. Alternativa, să foloseşti chestii de genul „synchronized” în Java sau pthreads în C, e ca şi când ai programa în limbaj de asamblare deşi a apărut deja Pascal.  În mare, scopul primitivelor concurente de nivel înalt este să permită programatorilor să pretindă că anumite bucăţi de cod se execută secvenţial, fără interferenţe.
Implementarea acestor primitive este dificilă.  De exemplu, futures sunt implementate în biblioteca „java.util.concurrent”,  dar semantica firelor de execuţie în Java nu e clară.  Pentru o vreme programatorii se aşteptau ca o execuţie pe câteva core-uri să fie echivalentă cu o intercalare a instrucţiunilor pe un singur core.  Erau apoi surprinşi cum un program „concurent” care mergea perfect pe un core brusc începea să aibă defecte când era rulat pe mai multe core-uri.  Motivul este că maşina virtuală şi compilatoarele fac tot felul de optimizări în cadrul fiecărui fir, ca şi când ar fi un program secvenţial.  OK, dar dacă nu te poţi gândi la un program concurent ca şi când firele de execuţie pot fi intercalate, atunci cum? Evident, nu vrei să iei în considerare toate posibilele optimizări.  Trebuie să există o altă descriere concisă a ceea ce e permis şi ceea ce nu e permis. Într-adevăr există: e o teză de doctorat ... în care au fost găsite probleme, care au fost corectate, apoi au fost găsite alte probleme şi tot aşa.

Diferente intre securitate:

public
protected

Topicul de forum nu a fost schimbat.