PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PERL] Objekte an Threads.



ExRevel
07.02.2004, 20:06
Hi...

Mein Problem sieht wie folgt aus: Ich habe ein Object erstellt mittels bless() und möchte dieses Objekt an 2 Threads übergeben, nun handelt es sich bei einem Objekt ja immer um eine Referenz und diese wird immer verändert wenn ich sie an einen thread übergebe, ich habe einiges ausprobiert, aber die Adresse meines Objektes wird immer geändert und ich habe keine Chance auf das Objekt zuzugreifen! Hat jemand erfahrung oder kann mir einen Tip geben?

Denn es ist zum aus der Haut fahren und würde mir einiges versaun! :(

ciao Exi

Steve
07.02.2004, 20:26
schau dir mal Thread::Queues an.

Steve

ExRevel
07.02.2004, 20:38
Ich habe grad was schlimmes gelesen:


bless is not supported on shared references. In the current version, bless will only bless the thread local reference and the blessing will not propagate to the other threads. This is expected to be implemented in a future version of Perl.

Ich versuche es trotzdem nochmal mit Queues wer weiss, sonst kann ich jetzt 1300 Zeilen Code einstampfen was mir extrem schlechte laune bereiten würde.

Danke erstmal an dich, werde mal berichten was passiert.

ciao Exi

Steve
07.02.2004, 21:07
hab noch 2 Anregungen für dich:

1. ein bless wirkt sich nur auf die Lokale Referenz aus, aber wie verhällt es sich mit etwas "schon geblesstem" (ka obs so stimmt. Is aufjeden Fall doppeldeutig)

2. Notfalls würde ich einfach einen Hash sharen. Auf den du die Notwendigen Methoden / Funcs anwendest.

Steve

ExRevel
07.02.2004, 21:12
Die 2. Idee ist auf jeden Fall sehr gut, hilft mir aber in dem Fall meines Programms net weiter, leider :( *schnüff*

Naja, jetzt muss ich auf C++ zurückgreifen, was mich nicht umbedingt glücklich macht kann ich dir sagen! :) Aber naja, was solls, man kann nicht alles haben im Leben.

Danke dir vielmals für alles Gedanken die du dir gemacht hast!

ciao Exi