Thread Mehrere Prozesse für Dual/Quad Core (6 answers)
Opened by Snicker at 2008-09-05 21:24

Gast Gast
 2008-09-05 23:09
#114307 #114307
hab mal deine Beispielschleife ausprobiert und bekomme eine etwas andere Ausgabe:
(2384) start of loop 1
(2384) (-2352) loop 1
(2384) start of loop 2
(2384) (-2028) loop 2
(-2352) (0) loop 1
(-2352) start of loop 2

zumal ich eine Fehlermeldung bekomme.

Hab den Quelltext etwas umgeschrieben. Jetzt arbeitet er die richtige Reihenfolge ab, aber leider nur einen Prozess nach dem anderem. Wie schaffe ich es dass er 2 oder mehr Prozesse zulässt?

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
$q = 0;
my $k1 = 0;
my $cores = 2;
my $test1;
while ($q < @einstellungen_para_wert[3]){
    my $pid = fork() ;
    unless (defined $pid) {
        die "Could not fork $!";
    }
    elsif (!$pid){
            print "$k1\n";
            open (BATCHDATEI, ">$batch$q.bat");
            print BATCHDATEI "\@echo off\n CopasiSE @einstellungen_para_wert[2]@einstellungen_para_wert[0]$q@einstellungen_para_wert[1] --save @einstellungen_para_wert[2]@einstellungen_para_wert[0]$q$random@einstellungen_para_wert[1]";
            $test1 = $q + $k1;
            $k1++;
            print "$test1 Simulation wird berechnet \$k1 = $k1 \q = $q\n";
            system ("$batch$test1.bat");
            $q++;
            $k1--;
    }
    else{
        exit(0);
    }
}

View full thread Mehrere Prozesse für Dual/Quad Core