#!/usr/bin/perl
#==========================================================================
# Auteur : djibril
# But    : Exemple de threads
#==========================================================================
use warnings;
use strict;

use threads;

my @stockage_threads;

# Création de 10 threads.
for ( 0 .. 9 ) {
  $stockage_threads[$_] = threads->create( \&fun, $_ );
}

print "Threads crées, passons à autre chose !\n";
sleep 2;
print "Allons récupérer nos valeurs de retour...\n";

for ( 0 .. 9 ) {
  print "thread num $_  est terminé et nous retourne la valeur : " . $stockage_threads[$_]->join() . "\n";
}

sub fun {
  my $number = shift;
  print "Bonjour, je suis le thread num : $number\n";
  print "Mon id est : " . threads->tid() . "\n";
  sleep 2;
  print "le thread num $number meurt\n";

  return threads->tid();
}
