Thread activestate perl threads use threads; (5 answers)
Opened by montii at 2006-09-15 15:23

montii
 2006-09-15 15:23
#69925 #69925
User since
2006-08-28
13 Artikel
BenutzerIn
[default_avatar]
leider habe ich gerade kein *nix system zur Hand, aber ich denke mal dort funktioniert alles bestens. Ich hoffe es gibt hier den ein oder anderen activestate win32 perl benutzer :-)

CPAN:threads
folgendes beispiel ist dort aufgeführt:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl
use threads;

sub thr_func
{
# Thread 'cancellation' signal handler
$SIG{'KILL'} = sub { threads->exit(); };
}

# Create a thread
my $thr = threads->create('thr_func');
# Signal the thread to terminate, and then detach
# it so that it will get cleaned up automatically
$thr->kill('KILL')->detach();

Quote
Fehler: Can't locate object method "kill" via package "threads" at... usw.


Ein anderes Problem betrifft die stack size. Der Wert lässt sich nicht auslesen (gibt immer und für jeden $thread 0 zurück). Es lässt sich erst ein Wert auslesen nachdem mittels set_stack_size(SIZE) ein Wert gesetzt wurde.

Code: (dl )
1
2
my $old_size = threads->set_stack_size(16*8096);
print "stack size for thrctrl: ".$thrctrl->get_stack_size()."\n";

Quote
Ergebnis: stacksize für 129536 (stimmt!)


Daher meine Frage: weiss jemand wie groß die stack size auf Windows XP Systemen by default ist? 16MB?

Das größere Problem ist auf jeden Fall das mit den SIGNALs :-/

View full thread activestate perl threads use threads;