Thread threads->join() zwingt Vater zu warten (9 answers)
Opened by Froschpopo at 2005-04-07 22:21

Froschpopo
 2005-04-07 22:21
#53537 #53537
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab folgendes kleines Script:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl

use strict;
use threads;


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

$th_inc->join();

sub kind {
    sleep(4);
    print "Kind ist fertig\n";
    exit;
}
print "Vater ist fertig\n";

Das Problem ist nun: Der Vater wartet aufs Kind anstatt direkt "Vater ist fertig" auszugeben. Da das sleep(4) ja nur im Kind stattfindet, müsste doch eigentlich zuerst der Vater fertig sein da dieser nicht schlafen muss.
Irgendwie scheint also join() den Vater zu blockieren. Kann man das irgendwie verhindern?

Ich möchte dass das Kind direkt schon zu scriptbeginn ausgeführt wird.\n\n

<!--EDIT|Froschpopo|1112898136-->

View full thread threads->join() zwingt Vater zu warten