Thread threads => Grundwissen (50 answers)
Opened by RPerl at 2007-01-21 18:07

RPerl
 2007-01-23 19:59
#73452 #73452
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Quote
Aber ich komme nicht drumrum, die Datei zu teilen, zeilenweise.
Weisst du, wie ich das mache?
Das Codeschnipsel muesste die Liste zeilenweise einlesen, dann in 2 gleichgroße Stuecke teilen und jeweils in variablen packen.
Dann waer mir >__wahrscheinlich__< geholfen...
(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-->

View full thread threads => Grundwissen