Programare multi-threading

Laborator
7/10 (1 vot)
Domeniu: Rețele
Conține 1 fișier: docx
Pagini : 9 în total
Cuvinte : 1568
Mărime: 56.52KB (arhivat)
Publicat de: Petria Lupu
Puncte necesare: 0

Extras din laborator

1. Scopul lucrării:

Realizarea firelor de execuție în C#.

2. Obiectivul lucrării:

Crearea firelor de execuție în C# și utilizarea tehnicilor de sincronizare în cadrul aplicațiilor concurente C#.

3. Programare multithreading

3.1. Definiția procesului

Un proces sau task, este un calcul care poate fi executat concurent (în paralel) cu alte calcule. El este o abstractizare a activității procesorului, fiind considerat ca un program în execuție. Existența unui proces este condiționată de existența a trei factori:

- o procedură - o succesiune de instrucțiuni dintr-un set predefinit de instrucțiuni, cu rolul de descriere a unui calcul - descrierea unui algoritm.

- un procesor - dispozitiv hardware/software ce recunoaște și poate executa setul predefinit de instrucțiuni, și care este folosit, în acest caz, pentru a executa succesiunea de instrucțiuni specificată în procedură;

- un mediu - constituit din partea din resursele sistemului: o parte din memoria internă, un spațiu disc destinat unor fișiere, periferice magnetice, echipamente audio-video etc. - asupra căruia acționează procesorul în conformitate cu secvența de instrucțiuni din procedură.

Trebuie deci făcută deosebirea dintre proces și program. Procesul are un caracter dinamic, el precizează o secvență de activități în curs de execuție, iar programul are un caracter static, el numai descrie textual această secvență de activități.

Evoluția în paralel a două procese trebuie înțeleasă astfel:

Dacă Ii și Ij sunt momentele de început a două procese Pi și Pj, iar Hi și Hj sunt momentele lor de sfârșit, atunci Pi și Pj sunt executate concurent dacă:

max (Ii, Ij) <= min (Hi, Hj)

3.2. Definiția threadului

Un thread se definește ca o entitate de execuție din interiorul unui proces, compusă dintr-un context și o secvență de instrucțiuni de executat.

Printre caracteristici de bază ale acestor entități:

- Thread-urile sunt folosite pentru a crea programe formate din unități de procesare concurentă.

- Entitatea thread execută o secvență dată de instrucțiuni, încapsulate în funcția thread-ului.

- Execuția unui thread poate fi întreruptă pentru a permite procesorului să dea controlul unui alt thread.

- Thread-urile sunt tratate independent, fie de procesul însuși, fie de nucleul sistemului de operare. Componenta sistem (proces sau nucleu) care gestionează thread-urile depinde de modul de implementare a acestora.

- Operațiile de lucru cu thread-uri sunt furnizate cu ajutorul unor librării de programe (C, C++) sau cu ajutorul unor apeluri sistem (în cazul sistemelor de operare: Windows NT, Sun Solaris).

Esența conceptuală a threadului este aceea că execută o procedură sau o funcție, în cadrul aceluiași proces, concurent cu alte thread-uri. Contextul și zonele de date ale procesului sunt utilizate în comun de către toate thread-urile lui.

Un program multi-thread poate să obțină o performanță îmbunătățită prin execuția concurentă și/sau paralelă a thread-urilor. Execuția concurentă a thread-urilor (sau pe scurt, concurență) înseamnă că mai multe thread-uri sunt în progres, în același timp. Execuția paralelă a thread-urilor (sau pe scurt, paralelism) apare când mai multe thread-uri se execută simultan pe mai multe procesoare.

Bibliografie

1. Rodney Ringler - Programare Multi-Threading, anul publicării: 2014

2. Дeниc Рeчкyнoв - Пapaллeльнoe пpoгpaммиpoвaниe в .NET Framework 4.0, http://www.enterra.ru/blog/parallel-programming-in-net-framework-4-0/, data publicării: 17.01.2013 , data accesării: 28.03.2015

Preview document

Programare multi-threading - Pagina 1
Programare multi-threading - Pagina 2
Programare multi-threading - Pagina 3
Programare multi-threading - Pagina 4
Programare multi-threading - Pagina 5
Programare multi-threading - Pagina 6
Programare multi-threading - Pagina 7
Programare multi-threading - Pagina 8
Programare multi-threading - Pagina 9

Conținut arhivă zip

  • Programare multi-threading.docx

Alții au mai descărcat și

Comunicații și rețele wireless

În cautarea raspunsului istoric, am ajuns la un altul legat de tehnologia mobila Bluetooth, care ne înconjoara astazi de pretutindeni. Caci la fel...

Fibră optică

INTRODUCERE Tehnologia de astazi ne permite sa transmitem informatii sub forma de voce sau date la o viteza care a depasit-o pe cea a sistemului...

Rețele de calculatoare

Un model de comunicatie - Sursa —Genereaza date care urmeaza a fi transmise - Transmitator —Converteste datele in semnale transmisibile -...

Soluții Flexibile pentru Supraveghere Video și Monitorizare de la Distanță

Supravegherea bazată pe IP oferă soluţii de calitate superioară pentru securitate si monitorizare de la distanţă, prin simpla conectare la o reţea...

Multimedia - Suport de curs pentru autoinstruire

1. UNITATEA DE STUDIU 1 - Concepte generale, clase de aplica.ii multimedia Cuprins 1.1. Introducere .. 4 1.2. Obiectivele .i competen.ele...

Administrarea Rețelelor

Executarea lucrarilor: Figura 1. Packet tracer 6.5.1.3 Am efecutat configurari asupra Routeru-lui cit si a celor doua Switchiriu utilizind...

Întrebări licență rețele de calculatoare

protocol de nivel aplicatie este utilizat pentru a a translata nume de host (adrese URL) in adrese IP? DNS 2. Dati un exemplu de adresa valida de...

Totul despre rețele

TOTUL DESPRE RETELE Inceputul Retelele sunt clasificate in retele peer-to-peer si retele bazate pe server. Intr-o retea peer-to-peer nu exista...

Te-ar putea interesa și

Implemetarea unei Platforme de E-Learning

DETALII 1. PRECIZARI SI DATE INITIALE: Desi exista numeroase definitii posibile pentru termenul de e-learning, o varianta acceptabila in limba...

Elaborarea și implementarea sistemului informațional registratorul al camerei înregistrării de stat al Republicii Moldova

Introducere În era pe care o trăim, era tehnologiilor informaţionale, informaţia este o componentă esenţială în desfăşurarea oricărei activităţi....

Aspecte comparative, funcțional constructive și economice ale procesoarelor multicore din tehnică de calcul

Capitolul I: Familii de procesoare multicore,caracteristici, avantaje dezavantaje,ierarhizarea calitativă după firmele producatoare pe plan mondial...

Controlul motoarelor DC folosind o placă de dezvoltare cu DSP

CAPITOLUL 1. INTRODUCERE Introducerea pe scară largă a automatizării şi robotizării, realizarea noilor tipuri de maşini unelte cu comanda program...

Analiza Procesoarelor

Introducere De-a lungul dezvoltării sale omenirea a cunoscut un şir de descoperiri care au dus la schimbarea vectorului de dezvoltare a sa. O...

Sinteză sisteme de operare

Sisteme de operare. Definitie. Rol. Functii Definitie : Un sistem de calcul actual se compune din unul sau mai multe procesoare, dintr.o memorie...

Structura și arhitectura calculatoarelor

Cap. 1. SISTEME PIPELINE Tehnica pipeline reprezintă o metodă de îmbunătătire a performantelor unui procesor sau a unei unităti aritmetice....

Programare HTML și XML

CAPITOLUL I NOTIUNI GENERALE [13, 28, 78, 77] 1.1 INTERNET Internet-ul, sau reteaua mondială de calculatotore, reprezintă un puternic instrument...

Ai nevoie de altceva?