Jó összefoglalása az elmúlt hetek témájának, grat :)
Annyit tennék hozzá a threades részhez, hogy ha webes script indítgat több threadet, akkor az elég nehezen kontrollálható erőforráskezelést fog eredményezni. Igaz, hogy shared heapet használnak a threadek, viszont saját stacket, nem tudom ennek állítgatására a pthreads biztosít-e lehetőséget. Ha nem, és/vagy linux default stack size-t használ (ez 64 bites linuxon alapból általában 8MB), az pl lehet csúnyán lábon lövős... Emiatt (is) thread poolokat szoktak használni, ami php esetében nem igazán játszik, mivel a requestek külön processzekbe esnek be. Szóval a gyakorlatban a pthreads-et én inkább csak daemonban javasolnám (ha már phpban ilyet perverzkedünk :)), mert ott lehet felettük kontrollod. Meg a túl sok thread cpu használat szempontjából sem feltétlenül produktív, de ez persze már függ a feladattól (jellemzően I/O igényes műveleteknél éri meg növelni a threadek számát). Természetesen ez igaz a processekre is, csak gondolom ott valamivel egyértelműbb ez az aspektus.
A stack size-ra nem találtam semmit, a c-ben lehet módosítani, a php-s verzióban egyelőre úgy tűnik nincs rá lehetőség.
Ha szeretnél beleírni a cikkbe, szólj nyugodtan. A cikket áttekintésnek szántam, nem mélyedtem bele különösebben egyik technológiába sem, inkább csak olvasgattam róluk egy konkrét probléma miatt. Végül kiderült, hogy a cooperative multitasking és szinkron kód használata teljesen megfelel, sőt újra átgondolva a problémát talán még az sem fog kelleni. Újabban sokkal több időt töltök a lehetőségek feltérképezésével, mint a kódolással... Még írni fogok egy csomó ilyen összefoglalót a későbbiekben, elsősorban architecture, cqrs, event sourcing, message queue, rest stb... témákban. Az event sourcing most kifejezetten izgatja a fantáziámat.
A weblaboros cikkeknél az injection-ös cikk, amit idáig nem sikerült elintéznem. Sajnos túl hosszú lett, valahogy szét kellene darabolnom. Először arra gondoltam, hogy egy accordion-ba teszem, de talán jobb lenne, ha újraírnám az egészet, és csak az alapelveket írnám le, utána meg ömlesztve jönnének a példák minden nyelven...
Akkor újra felmerült a régóta tartó probléma: miért olyan nehéz a WL-re cikket írni / megjelentetni...
Ádám végre leírhatná az alapszabályokat, a használandó tageket, mi meg írhatnánk hozzá szerkesztőt.
Hát tényleg off... :-) Jobb lenne lecserélni a mostani bbcode-os megoldást egy wysiwyg html szerkesztőre ahelyett, hogy email-en küldözgetnénk a cikkeket.
Ha volna miből gazdálkodni (tagek és szabályok pontos ismerete), akkor megcsinálhatnánk hozzá a szerkesztőt külön is, az oldalhoz nem hinném, hogy egyhamar hozzányúlnak. :(
Főleg a PCNTL tetszik, kár, hogy windowson nincs.
(A manual nem írja, hogy a főprocessben a visszatérési érték, a pid mindig 1, de ez mindegy, a lényeg hogy nem -1 és nem falsy)
Igaz, a PID a visszatérési érték, nem 1, javítom. :-) Ez van, ha az álmatlanság miatt hajnal 4-kor ír cikket az ember... Volt már több hasonló hiba is, köszönöm a visszajelzéseket!
Jó összefoglaló
Annyit tennék hozzá a threades részhez, hogy ha webes script indítgat több threadet, akkor az elég nehezen kontrollálható erőforráskezelést fog eredményezni. Igaz, hogy shared heapet használnak a threadek, viszont saját stacket, nem tudom ennek állítgatására a pthreads biztosít-e lehetőséget. Ha nem, és/vagy linux default stack size-t használ (ez 64 bites linuxon alapból általában 8MB), az pl lehet csúnyán lábon lövős... Emiatt (is) thread poolokat szoktak használni, ami php esetében nem igazán játszik, mivel a requestek külön processzekbe esnek be. Szóval a gyakorlatban a pthreads-et én inkább csak daemonban javasolnám (ha már phpban ilyet perverzkedünk :)), mert ott lehet felettük kontrollod. Meg a túl sok thread cpu használat szempontjából sem feltétlenül produktív, de ez persze már függ a feladattól (jellemzően I/O igényes műveleteknél éri meg növelni a threadek számát). Természetesen ez igaz a processekre is, csak gondolom ott valamivel egyértelműbb ez az aspektus.
Van több osztály, köztük Pool
A stack size-ra nem találtam semmit, a c-ben lehet módosítani, a php-s verzióban egyelőre úgy tűnik nincs rá lehetőség.
Ha szeretnél beleírni a cikkbe, szólj nyugodtan. A cikket áttekintésnek szántam, nem mélyedtem bele különösebben egyik technológiába sem, inkább csak olvasgattam róluk egy konkrét probléma miatt. Végül kiderült, hogy a cooperative multitasking és szinkron kód használata teljesen megfelel, sőt újra átgondolva a problémát talán még az sem fog kelleni. Újabban sokkal több időt töltök a lehetőségek feltérképezésével, mint a kódolással... Még írni fogok egy csomó ilyen összefoglalót a későbbiekben, elsősorban architecture, cqrs, event sourcing, message queue, rest stb... témákban. Az event sourcing most kifejezetten izgatja a fantáziámat.
Nagyon jó, itt lenne a helye
A weblaboros cikkeknél az
[OFF]
Ádám végre leírhatná az alapszabályokat, a használandó tageket, mi meg írhatnánk hozzá szerkesztőt.
Hát tényleg off... :-) Jobb
+1
Köszi, nagyon jó volt!
(A manual nem írja, hogy a főprocessben a visszatérési érték, a pid mindig 1, de ez mindegy, a lényeg hogy nem -1 és nem falsy)
Igaz, a PID a visszatérési
PCNTL-el kapcsolatban lehet találni tök szép példákat, ha sokat keres az ember: pleac_php/processmanagementetc.html.