Thread threads => Grundwissen
(50 answers)
Opened by RPerl at 2007-01-21 18:07 Quote(Quote von mir) Mehr brauch ich nicht...macht euch um himmels willen nicht extra solche Arbeit! Ich werde es mit threads machen. Geht viel schneller, logischer und kuerzer. Bei mir funktioniert Windows wie Linux das selbe Ergebnis bzgl. Threads. Postitiv - funktioniert! Also: ich brauche ein Schnipseln, was mir eine simple text-datei in 2(zwei) Variablen speichert. Bsp: Die Datei hat 10000 Zeilen. Dann macht er halt 5000 in @liste0 und 5000 in @liste1 Dann uebergebe ich das an meinen thread und fertig. D.h. der thread bekommt @liste2 und der normale prozess @liste0. (Mit threads wird ja eine (Sub)Funktion nur kopiert) Das muesste doch gehen, nicht? // Edit: oha mir ist nochn logik fehler aufgefallen. Vllt. kann einer von euch den loesen. Und zwar wenn ich @liste0 an &abfrage sende und abfrage macht(standard, ohne thread!!) for($i=0;$i<=5000;$i++) { print @liste0[$i]; } und ich dann einen neuen thread erstelle: my $thr = new Thread \&abfrage, $nick, @liste1, $proxy; Dann macht er die selbe Funktion (abfrage genannt) nur mit @liste0[$i] durch obwohl er mit @liste1[$i] machen sollte :/ boah D.h. ich muesste ueberpruefen ob der thread es macht Wenn der thread die Akton durchfuehrt, dann for($i=0;$i<=5000;$i++) { print @liste1[$i]; } wenn nicht dann for($i=0;$i<=5000;$i++) { print @liste0[$i]; } Kurz und knapp: Wie kann ich ermitteln ob man im thread "steckt"? Weil der Thread soll ja eine andere Daten aus der Liste holen. Achja: fork() wäre dafuer mehr als ungeeignet, weil ich doch zwei >>>verschiedene<<< Teile der Liste abfrage.\n\n <!--EDIT|RPerl|1169579693--> |