![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 16.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Czy a jesli tak to jak można wywołac równoległe funkcje w php?
przykładowo mam 100 wywolan funkcji funkcja($arg) i jak to wywolac rownolegle -------------------- .
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 16.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:b3bfdf3608]<?php
function wywolaj($arg) { // tutaj zabawa z argumentem } register_tick_function("wywolaj"); declare (ticks=1) { // tutaj 100 funkcji wywolaj($arg) z różnymi argumentami $arg, które według mojego zamierzenia maja sie wywolywac rownolegle, ale tak nie jest mam php 4.3.4 } ?>[/php:1:b3bfdf3608] gdzie robie błąd ? ![]() -------------------- .
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
To co podalem to wzasadzie byl blad php - w nowych wersjach juz tego chyba nie ma.
Natomiast jezeli uzywasz linuxa to uzyj [manual:a61e0c7abf]PCNTL[/manual:a61e0c7abf]. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 16.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Pytanie1
mam kod [php:1:6f076fba41]<?php $pid = pcntl_fork(); if ($pid == -1) { die("could not fork"); } else if ($pid) { // we are the parent echo 'parent'; } else { // we are the child echo 'child'; } ?>[/php:1:6f076fba41] w przeglądarce dostaje Cytat Fatal error: Call to undefined function: pcntl_fork()
a w shellu działa bezproblemowo, gdzie tkwi kruczek ? ![]() Pytanie2 [php:1:6f076fba41]<?php while(1) { $pid = pcntl_fork(); if ($pid == -1) { die("could not fork"); } else if ($pid) { pcntl_waitpid(-1,$status); // this waits on the child **** } else { // tutaj jest 100 wywolan tej samej funkcji ze 100 roznymi argumenatami (dokladniej jest to funkcja ktora pinguje 100 roznych lokalizacji) // zalezy mi na predkosci dzialania, dlatego musi to byc wykonywane rownolegle ![]() } } ?>[/php:1:6f076fba41] napewno cos robie zle , bo liczba procesow zwieksza sie, a powinna byc stala, czyli jak pinguje 100 lokalizacji to powinno byc 100 procesów ![]() -------------------- .
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 16.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Może ktoś się podzieli działającym przykładem z wielowątkowości w php i odpowie na moje 2 powyższe pytania
![]() -------------------- .
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Zerknij w komentarze pod funkcjami. Tam znajduja sie ciekawe przyklady.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 20:17 |