Thread Funktion mit mehr als zwei Rückgabewerte - möglich? (5 answers)
Opened by HoHoHo at 2013-12-10 20:56

Gast HoHoHo
 2013-12-11 00:41
#172539 #172539
Danke euch!

War von Referenzen schon soweit weg, weil ich davon ausging für Threads müsste ich mit Kopien der Daten arbeiten. Aber es funktioniert auch mit Referenzen.

Code (perl): (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
#!/usr/bin/perl

use diagnostics;
use threads;
use warnings;

sub loop_threads
{
        foreach my $thr (threads->list){
                my ($a, $ref_b, $ref_c) = $thr->join();
                print "\@c "; print @$ref_c; print "\n";
                print "\@b "; print @$ref_b; print "\n";
        }
}

sub foo
{
        my ($a, $b) = @_;
        my @c = ("c");
        return ($a, $b, \@c);
}

my $a = "a";
my @b = ("b");

threads->create({'context' => 'list'}, \&foo, ($a, \@b));

loop_threads();


Ausgabe:
Code: (dl )
1
2
3
$ perl /tmp/foo.pl
@c c
@b b


N8,
HoHoHo
Last edited: 2013-12-11 01:41:34 +0100 (CET)

View full thread Funktion mit mehr als zwei Rückgabewerte - möglich?