ABONAMENTE VIDEO TESTE REDACȚIA
RO
EN
×
▼ LISTĂ EDIȚII ▼
Dan Sabadis

Dan Sabadis

Senior Software Programmer @ Siemens

PROGRAMARE
Introducere în programarea .Net Multithreading (II)

În articolul precedent am explicat ce este execuția multithreading și am descris elementele esențiale ale programării asincrone în .Net, anume interfața IAsyncResult. Am prezentat și o scurtă istorie a evoluției abstractizării programelor multithreading în mediul .Net, începând cu clasa Thread și sfârșind cu designul async-await (async și await ajungând chiar cuvinte rezervate în limbajul C#). În acest articol vom oferi exemple de sincronizare a firelor de execuție (numite de acum în engleza originală „thread”) din mediul .Net axate pe cele două moduri în care procesorul funcționează pentru orice sistem de operare: modul Utilizator și modul Kernel. Ca de obicei, începem cu definițiile.

PROGRAMARE
O scurtă introducere în programarea .Net Multithreading

Java și .Net sunt sisteme de operare în miniatură care se ocupă de scenarii complexe precum alocare de memorie, cleanup (vezi Garbage Collector) și acces simultan la resurse (.Net/Java Managed Threads). Azi ne vom axa pe subiectul “cu greutate” al multi-threadingului într-un mediu enterprise mare. Deoarece experienţa mea anterioară s-a axat pe .Net, am ales să prezint exemple din C# , dar aceleași concepte, clase și abstracţiuni descrise mai jos au un echivalent aproape identic în Java. Cele mai importante părţi din orice prezentare sunt definiţiile, deci trebuie să definim threadul. Răspunsul este surprinzător de complex, iar ca o precondiţie trebuie să definim ce este un program de calculator și un proces!

Sponsori

  • Endava
  • 3PillarGlobal
  • Gemini Solutions
  • Betfair
  • Accenture
  • Telenav
  • Siemens
  • Bosch
  • ntt data
  • FlowTraders
  • Crossover
  • MHP
  • Colors in projects