meta données pour cette page
  •  

Les Threads en Ruby

Qu'est-ce un thread ?

Un Thread est un morceau d'un programme qui s'exécute en parallèle du programme principal. Concrètement, ce morceau de programme peut être par exemple une méthode (fonction) qui attend une instruction pendant que le programme principal calcul la saisie précédente.

Comment ça marche ?

"thread.rb"
# Creation d'une methode qui s'executera en tant que thread
def tre
 
   for i in 1..10
      puts "tre"
      sleep(0.5)
   end
 
end
 
#Creation d'un objet qui s’executera en tant que thread
class TR2
 
  def tre2
 
    for i in 1..10
      puts "tre2"
      sleep(0.3)
    end
 
  end
end
 
# Instantiation d'un objet
obj = TR2.new
 
puts "Declaration des threads"
t1 = Thread.new{tre}
t2 = Thread.new{obj.tre2}
 
puts "Execution des threads"
t1.join
t2.join

Réponse :

 Declaration des threads
 Execution des threads
 tre2tre
 
 tre2
 tre
 tre2
 tre2
 tre
 tre2
 tre
 tre2
 tre2
 tre
 tre2
 tre2
 tre
 tre2
 tre
 tre
 tre
 tre

On remarque lors de l’exécution des méthodes : Elles s’exécutent conjointement en s'alternant à la poursuite du programme.

Plus d'information à ces adresses :