SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.08.2002, 15:07:37
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
Multi Threading (Win32 API)

Hallo,

Bin neu hier im Forum und hab einfach mal spontan nach diesem Thema gesucht. Aber leider nichts dazu gefunden.
Ueberall finde ich zu lesen das Multi Thread und PHP nur mit der ISAPI version und dem Unterstuetzten Webserver funktioniert. Naja, ich benutze Apache 2.0 und habe die ISAPI version installiert bzw eingerichtet.
Nunja, schoen und gut das es angeblich aeuft, aber wo finde ich die Syntax um ein PHP Script Multi Thread faehig zu machen. PHP 3 funktioniert das ja defenitiv nicht, aber in PHP 4.x sehr wohl (ISAPI version).
Kann mir jemand vielleicht ein Buch empfehlen oder mir nur ein paar Tips geben wie ich einen Thread unter PHP aufbaue, ich meine jetzt Syntax technisch. Wie ein Thread funktioniert weil ich ja schon selber Theoretisch mir fehlt nur das Wissen wie es in PHP implementiert wird.
Wenn ihr auch so ein Problem oder aehnlich habt, koennen wir uns ja mal im IRC oder ICQ darueber austauschen.

viele Gruesse
~Troniac

Geändert von Troniac (07.09.2002 um 16:08:49 Uhr)
Mit Zitat antworten
  #2  
Alt 27.08.2002, 15:27:39
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
Re: Multi Threading

Zitat:
Original geschrieben von Troniac
Multi Threading
[/B]
Also, ich habe zur Zeit ein PHP Programm das eine Verbindung zu einem Server aufbaut, sachen abfragt und wieder schließt. Nunja, das mach ich halt nicht mit einem Server sondern mit ca. 400-500 Servern.
Mit dem Normalen verfahren geht es ja, aber ich hab dann script laufzeiten von bis zu 20-60 Minuten. Gibt es irgend wo eine Möglichkeit es Multithread fähig zu machen.
Die Daten sind in einer Strucktur vorhanden und können über Zeigern auf die Strucktur angesprochen werden. Soweit ist das schon mal optimiert aber mit Multi Threading wäre das ganze ja noch schneller weil dann mehr als eine Verbindung aufgebaut werden kann, beispielsweise so 5 -10 Verbindungen wären ganz Pracktisch.
Mit Zitat antworten
  #3  
Alt 27.08.2002, 15:44:18
Benutzerbild von SPiC
SPiC SPiC ist offline
Junior Member
 
Registriert seit: Aug 2002
Ort: Münster/Germany
Beiträge: 324
SPiC eine Nachricht über ICQ schicken
So sollte es gehen...

Code:
# Funktionen deklarieren
function a() {
echo "a";
}
function b() {
echo "b";
}

# Registerierung der Ticks
register_tick_function ("a");
register_tick_function ("b");

# Starten!!!
declare (ticks=1);

# that's all folks
=:-) Sebastian
__________________
Member of the PHP Development Group

spic@php.net
www.php.net

Geändert von SPiC (27.08.2002 um 15:46:20 Uhr)
Mit Zitat antworten
  #4  
Alt 27.08.2002, 15:46:02
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
vielen Dank für die Schnelle antwort!!!!
Ich werde mir das mal zu gemüte ziehen.

viele Grüße
~Troniac
Mit Zitat antworten
  #5  
Alt 27.08.2002, 15:47:12
Benutzerbild von SPiC
SPiC SPiC ist offline
Junior Member
 
Registriert seit: Aug 2002
Ort: Münster/Germany
Beiträge: 324
SPiC eine Nachricht über ICQ schicken
Nix zu danken, ich hoffe mal, es läuft so bei Dir... ich arbeite nämlich normalerweise mit Servern unter Unix und da is nix mit ISAPI...
__________________
Member of the PHP Development Group

spic@php.net
www.php.net
Mit Zitat antworten
  #6  
Alt 27.08.2002, 16:08:44
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
Wie schon vermutet, ich bekomme einen 500 Server Error,
also die Threads werden dann doch unter Windows anders aufgebaut als unter Unix bzw. Linux.
Schade das die API's unter windows anders angesprochen werden, oder meine Apache version ist zu alt bzw. zu neu

Muß mich gerade verbessern es funktioniert irgend wie jetzt doch??? Sehr seltsam :( Browser neugestartet und es ging...
Naja vielen Dank ich werd dann mal mein Programm Multi thread fähig machen
Mit Zitat antworten
  #7  
Alt 27.08.2002, 17:22:48
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
Globale Variablen

Hallo, das mit Globalen Variablen knallt doch oder?
Wenn ich ein Array habe das ist soweit ich weiß immer Global und ich greife mit zwei Threads drauf zu müßte es doch probleme geben oder?

bzw. wie kann ich
den funktionen a und b werte übergeben, ich habe beispiels weise ein nicht Globales Array. $a[] das steht auch in der Funktions deklaration so drin:
function a($a){}
aber irgend wie will der nicht das Array übergeben kann das hieran liegen? das nur a bzw. b registriert werden?:
register_tick_function("a");
register_tick_function("a");
weil wenn ich den Funktionen keine Werte geben kann, kann ich auch nichts mit dem Thread anfangen ist ja verstendlich.

okay ich versuch's mal mit Globalen Variablen,

$globalevariable[0]=A;
$globalevariable[1]=B;

function a(){GLOBAL $glibalevariable; echo "".$globalevariable[0];}.............




viele Grüße
~Troniac

Geändert von Troniac (27.08.2002 um 21:17:36 Uhr)
Mit Zitat antworten
  #8  
Alt 19.10.2002, 18:38:05
Troniac Troniac ist offline
Anfänger
 
Registriert seit: Aug 2002
Beiträge: 13
also es läuft immer noch nicht wirklich als Multithread

Hallo vielleicht kann mir da doch noch mal
jemand was zu schreiben. Weil die Obige Methode funktioniert
leider nicht so wirklich. Also als Psoydo MThread hab ich mir gedacht schick ich einfach in einer schleife
file('http://127.0.01/getinfo.php4?$host&$port'); an einen Webserver. Der kann ja mehrere Anfragen gleichzeitig bearbeiten.
so sieht das dann aus

....ARRAY $ip['....']; <-- STRING
....ARRAY $port[....]; <-- INT

while($i<10){
file('http://127.0.0.1/getinfo.php4?$host[$i]&$port[$i]');
}

soweit funktioniert das ja auch schön, allerdings immer noch
sequenziell hintereinander und das dauert so zwischen 5~10 sek.
so eine Abfrage und dauert einfach viel zu lange.
Weiß jemand wie ich ein Script ausführen kann wo das SCript
das file(...); ausführt nicht wartet.

viele Grüße
Troniac
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:44:31 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt