Differences

This shows you the differences between two versions of the page.

Link to this comparison view

so:laboratoare:resurse:threaduri_extra [2013/01/31 21:57]
127.0.0.1 external edit
so:laboratoare:resurse:threaduri_extra [2015/05/18 20:00] (current)
adrian.stanciu [Modificarea dimensiunii și adresei de start a stivei]
Line 127: Line 127:
 Dacă firul a fost creat unificabil stiva nu poate fi eliberată până nu se va termina un apel <​tt>​pthread_join</​tt>​ pentru respectivul fir. Dacă firul a fost creat unificabil stiva nu poate fi eliberată până nu se va termina un apel <​tt>​pthread_join</​tt>​ pentru respectivul fir.
  
-De obicei biblioteca de fire de execuţie alocă ​1M de memorie virtuală pentru fiecare stivă de fir de execuţie.+De obicei biblioteca de fire de execuţie alocă ​2M de memorie virtuală pentru fiecare stivă de fir de execuţie.
  
 Limita minimă pentru dimensiunea unei stive a unui fir de execuţie este PTHREAD_STACK_MIN. Limita minimă pentru dimensiunea unei stive a unui fir de execuţie este PTHREAD_STACK_MIN.
Line 163: Line 163:
 Cum se face planificarea?​ Cum se face planificarea?​
  
-Fibrele nu sunt planificate preemptiv (sunt lăsate să ruleze până cedează de buna voie procesorul),​ cu observaţia că dacă firul din care fac parte este preemptat, automat ​fibră ​în execuţie este preemptată. O fibră este planificată printr-o comutare către ea dintr-o altă fibră. Kernelul planifică fire de execuţie, nu fibre.+Fibrele nu sunt planificate preemptiv (sunt lăsate să ruleze până cedează de buna voie procesorul),​ cu observaţia că dacă firul din care fac parte este preemptat, automat ​fibra în execuţie este preemptată. O fibră este planificată printr-o comutare către ea dintr-o altă fibră. Kernelul planifică fire de execuţie, nu fibre.
  
 ==== ConvertThreadToFiber ==== ==== ConvertThreadToFiber ====
Line 199: Line 199:
   *''​lpStartAddress''​ - pointer la funcţia ce trebuie executată de către fibră. ​   *''​lpStartAddress''​ - pointer la funcţia ce trebuie executată de către fibră. ​
  
-    ​*tentie!** Aceasta nu va fi executată decât după un apel ''​SwitchToFiber''​ către fibră.+**Atentie!** Aceasta nu va fi executată decât după un apel ''​SwitchToFiber''​ către fibră.
 Această funcţie arata așa : Această funcţie arata așa :
  
Line 221: Line 221:
 ''​lpFiber''​ reprezintă adresa fibrei ce este planificată. ''​lpFiber''​ reprezintă adresa fibrei ce este planificată.
  
-    ​*tentie!** Apelul :+**Atentie!** Apelul :
  
 <code c> <code c>
so/laboratoare/resurse/threaduri_extra.1359662221.txt.gz · Last modified: 2013/02/17 23:25 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0