Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6868[/thread]

shared vars

Leser: 2


<< |< 1 2 >| >> 20 Einträge, 2 Seiten
Froschpopo
 2005-04-07 23:45
#53557 #53557
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab endlich einen thread.
den erzeuge ich mit dem threads-Modul. Das ist der nachfolger von dem alten "Thread", der nun jedoch mit ithreads arbeitet. Die Befehle sind weitgehend gleich geblieben.
Anscheinend gibt es aber kein threads::shared mehr, zum gemeinsamen handling von Variablen.
Gibt es da eine Alternative ?

ActiveState sagt mir nämlich immer:
Code: (dl )
1
2
3
4
5
C:\Dokumente und Einstellungen\froschpopo\Eigene Dateien\perl>ppm install thread
s::shared
Installing package 'threads-shared'...
Error installing package 'threads-shared': Read a PPD for 'threads-shared', but
it is not intended for this build of Perl (MSWin32-x86-multi-thread)

damit kann ich mir dann threads::shared abschminken.
Jemand eine Idee wie ich Variablen gemeinsam nutzen kann? Ne Kopie an das Kind reicht mir leider nicht, da das Kind auch Variablen im Vaterprozess ändern können soll.
esskar
 2005-04-08 00:08
#53558 #53558
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
threads-shared war bei meinem activestate perl einfach dabei!
Froschpopo
 2005-04-08 00:12
#53559 #53559
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
bei mir nicht... ich hab mein ActivePerl erst vo 3 tagen runtergeladen, vielleicht hast du ein älteres
esskar
 2005-04-08 00:23
#53560 #53560
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
This is perl, v5.8.6 built for MSWin32-x86-multi-thread
(with 3 registered patches, see perl -V for more detail)
Froschpopo
 2005-04-08 00:31
#53561 #53561
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
komisch,
ich hab meins erst vor 3 Tagen runtergelanden und trotzdem hab ich ne scheißalte version:
Code: (dl )
1
2
This is perl, v5.6.1 built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Froschpopo
 2005-04-08 00:35
#53562 #53562
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
alles fit, habs jetzt auch !
Froschpopo
 2005-04-08 00:50
#53563 #53563
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

use warnings;
use strict;
use threads;
use threads::shared;

my $var : shared = 0;

my $th_inc = threads->new( \&kind );

sub kind {
    $var++;
    return 0;
}

print "$var\n"; # sollte 1 ergeben

wie kann ich jetzt $var export,- bzw global importieren?\n\n

<!--EDIT|Froschpopo|1112907051-->
esskar
 2005-04-08 01:05
#53564 #53564
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl

use warnings;
use strict;
use threads;
use threads::shared;

my $var : shared = 0;

my $th_inc = threads->new( \&kind );

sub kind {
   $var++;
   return 0;
}

while(!$var) {
 print "var: $var\n";
}

print "var: $var\n";
\n\n

<!--EDIT|esskar|1112907978-->
Froschpopo
 2005-04-08 01:11
#53565 #53565
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Was ist denn das für ne komische Ausgabe??? Wieso sooft 0 ?
ich fänd ja cool, wenn man z.b. im Kind einfach "our $var" machen könnte.
Dein Code gibt mir das hier:
Code: (dl )
1
2
3
4
5
6
7
8
9
var: 0
var: 0
var: 0
var: 0
var: 0
var: 0
var: 0
var: 0
var: 1
\n\n

<!--EDIT|Froschpopo|1112908373-->
esskar
 2005-04-08 01:16
#53566 #53566
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
überleg doch mal; woran könnte das liegen?
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2005-04-07 23:45.