Thread [ithreads] Punkt in Polygon-Tests (1 answers)
Opened by pinwheel at 2016-03-12 17:33

Gast pinwheel
 2016-03-12 17:33
#184132 #184132
Hallo zusammen,

ich stehe derzeit vor dem Problem, für ca. 1.000.000 Punkte (2D) zu testen, in welchem von etwa 35.000 gegebenen Polygonen der jeweilige Punkt enthalten ist. Der Code steht soweit, aber die Größenordnung für eine CPU aber einfach zu übertrieben.

Daher habe ich mich in ithreads eingelesen, habe allerdings Schwierigkeiten mit folgendem Minimalbeispiel:

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
29
30
31
#!/usr/bin/perl

use threads;
use strict;
use warnings;

sub test {
    my ($von, $bis) = @_;
    my @result = ();

    foreach my $i ($von .. $bis) {
        push @result, $i;
    }

    return @result;
}

my $from  = 0;
my $over  = 10;
my $until = 20;

my $thread1 = threads->new( \&test, ($from, $over) );
my $thread2 = threads->new( \&test, ($over + 1, $until) );

my @res1 = $thread1->join();
my @res2 = $thread2->join();

print "@res1";
print "\n";
print "@res2";
print "\n";


Hier kommt lediglich

'10'
'11'

als Ergebnis zurück, erwartet hätte ich hingegen:

'0 1 2 3 4 5 6 7 8 9 10'
'11 12 13 14 15 16 17 18 19 20'

Was mache ich falsch?

--Markus
Last edited: 2016-03-12 17:49:04 +0100 (CET)

View full thread [ithreads] Punkt in Polygon-Tests