![]() |
#1 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Imam CLI script koji ce se koriscenjem socket f-ja kaciti na neki sajt, slati query, parsovati rezultat i tako ukrug. Socket f-je koristim zbog IP Binding-a (socket svaki put uspostavlja konekciju koristeci drugi IP, na serveru koji naravno ima vise IP adresa kako ne bi bio banovan).
E sad, da bi ubrzao ovaj proces, voleo bih ako je ikako moguce ovo uspostavljanje konekcije raditi sa vise niti (Multithreaded) kako bi imao vise konekcija odjednom. U jezicima poput Jave ili Perl-a to je izvodljivo ali nisam siguran za PHP. Ima li neko iskustva sa ovim ? |
![]() |
![]() |
![]() |
#2 |
Python Ambassador
Master
|
![]() Not gonna happen... Well not unless you're using linux. Any ****'s possible there (and I don't mean it in a good way).
__________________
Python Ambassador of Serbia |
![]() |
![]() |
![]() |
#3 |
Filip Milivojević
Certified
Datum učlanjenja: 06.06.2005
Lokacija: Pirot (Nis), Serbia, Serbia and Montenegro
Poruke: 51
Hvala: 0
0 "Hvala" u 0 poruka
![]() |
![]() Da, kao što petar kaže, te funkcije su tu, po dokumentaciji, one služe upravo za upravljanje procesima na POSIX arhitekturama, ali ja baš i nisam uspeo da ih nateram da rade ono što bi trebalo.
Recimo funkcija fork je na mom linux box-u napravila novi process, ali on umesto da je nastavio sa izvršavanjem od te funkcije, skript je počeo da se izvršava od početka. Sad, možda sam ja nešto tu loše izprogramirao... U svakom slučaju probaj, pa ako uspeš, javi... |
![]() |
![]() |
![]() |
#4 |
Python Ambassador
Master
|
![]() Po teoriji fork bi trebao da radi sledeće (AFAIK):
0. Nađe dovoljnu veliku parčad memorije i zauzme je 1. Napravi kopije DATA, STACK i CODE segmenata 2. Napravi kopije CPU registara 3. Izmeni neke podatke da imaju smisla - uglavnom vrednosti CPU registara vezane za pozicije gorepomenutih segmenata i status registre IIRC. I nastavlja da izvršava gde je "tata" stao, tj prva asemblerska instrukcija nakon poziva fork-a. Disclamer: Sve ovo je mnogo jasnije nekom ko je imao arhitekturu računara, konkuretno programiranje i operativne sisteme kao predmete na faxu.
__________________
Python Ambassador of Serbia |
![]() |
![]() |
![]() |
#5 | |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Citat:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Python Ambassador
Master
|
![]() Swtich to python or Java.
Ili možeš napravi bot mrežu pomoću nekog trojanca i tako raditi simulantne zahteve ![]()
__________________
Python Ambassador of Serbia |
![]() |
![]() |
![]() |
#7 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Nasao sam interesantan članak na ovu temu koji ne zatheva ni fork ni threading.
http://netevil.org/node.php?nid=280 |
![]() |
![]() |
![]() |
#8 |
Python Ambassador
Master
|
![]() Hm, interesantno, ako sam dobro shvatio u suštini se koristi neblokirajuća operacija. Jedino bi sinhronizacija mogla biti problem, no da te to brine pretpostavljam da ne bi koristio PHP
![]()
__________________
Python Ambassador of Serbia |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|