#!/usr/bin/perl -w
use strict;
use threads;
use threads::shared;
# ### Tennis club ###
# Palline da tennis del club
my $pallinetot = 270;
# Palline correnti
my $palline : shared = $pallinetot;
# ### Giocatori ###
# Nomi
my @nomi = (
'Beppe', 'Michele', 'Laura', 'Marco', 'Elena',
'Mauro', 'Stefania', 'Mirka', 'Agenore', 'Cosimo',
'Alessandro', 'Valentina', 'Denis', 'Sabrina', 'Anna',
'Nicola', 'Luca', 'Frida', 'Gliano', 'Asdrubale',
'Lisa', 'Elisa', 'Louis', 'Ernesto', 'Loris',
);
# Massimo tempo per completare la partita
my $tempomax = 20;
# Tempo di attesa se le palline sono rifiutate per riprovare
my $tempobar = 2;
# Tempo di attesa tra la restituzione delle palline e una nuova partita
my $tempoidl = 3;
# Massimo numero di palline che possono richiedere
my $pallinemaxe = 25;
# ### Programma principale ###
# Crea i thread giocatori
my @g;
for my $i(0..$#nomi) {
$g[$i] = threads->new(\&giocatore, $nomi[$i]);
}
# Attende la fine prima di uscire (non esce mai)
for my $i(0..$#nomi) {
$g[$i]->join();
} |