Schrift
[thread]8481[/thread]

Wie shared man Hashreferenzen bei Threads?



<< >> 2 Einträge, 1 Seite
toby
 2006-11-07 01:09
#71530 #71530
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo Community :)

ich hab mal wieder eine Frage ;)

Ich kämpfe gerade mit Threads und einer Hashreferenz, die zwischen den Threads ge'share'd werden soll. Nach der Lektüre von perlthrtut (http://faq.perl-community.de/bin....95;Data) kam ich nicht weiter. Mein code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl

use strict;
use warnings;

use threads;
use threads::shared;
use Thread;
use Data::Dumper;

my $href;
my $href_shared:shared;

$href = {
NAME => "name",
VNAME => "vname",
};

$href_shared = &share($href);

printf "main thread:%s\n",Dumper($href);

my $thread1 = Thread->new(\&function, 1);
my $thread2 = Thread->new(\&function, 2);

$thread1->join();
$thread2->join();

sub function {
my $param = shift;

print "thread $param started\n";
printf "href=%s\n",Dumper($href);
sleep(1);
print "thread $param ends\n";
}


Leider wird die Hashreferenz nicht ausgegeben, von ändern ganz zu schweigen.

Was mache ich falsch?

Danke!
Tobias
esskar
 2006-11-07 01:23
#71531 #71531
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du mischst threads mit Thread
das ist nicht gut bzw. nicht compatibel!
<< >> 2 Einträge, 1 Seite



View all threads created 2006-11-07 01:09.