Thread [ithreads] Punkt in Polygon-Tests
(1 answers)
Opened by pinwheel at 2016-03-12 17:33
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) |