<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java%3ALes_threads</id>
		<title>Java:Les threads - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java%3ALes_threads"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Java:Les_threads&amp;action=history"/>
		<updated>2026-05-04T14:26:29Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Java:Les_threads&amp;diff=85&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == L'implémentation d'un thread == * Créer la classe représentant le thread en implémentant l'interface [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.htm... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Java:Les_threads&amp;diff=85&amp;oldid=prev"/>
				<updated>2016-04-07T16:59:22Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == L&amp;#039;implémentation d&amp;#039;un thread == * Créer la classe représentant le thread en implémentant l&amp;#039;interface [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.htm... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== L'implémentation d'un thread ==&lt;br /&gt;
* Créer la classe représentant le thread en implémentant l'interface [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html java.lang.Runnable].&lt;br /&gt;
* Cette interface impose de définir la méthode suivante, contenant le traitement du thread:&lt;br /&gt;
 public void run() {&lt;br /&gt;
  // Traitement du thread&lt;br /&gt;
 }&lt;br /&gt;
* Implémenter le lancement du thread en utilisant la classe [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html java.lang.Thread]:&lt;br /&gt;
 Thread thread = new Thread(this);&lt;br /&gt;
&lt;br /&gt;
=== Exemple ===&lt;br /&gt;
 public class MyThread implements Runnable {&lt;br /&gt;
 &lt;br /&gt;
   private final Thread thread;&lt;br /&gt;
 &lt;br /&gt;
   public MyThread() {&lt;br /&gt;
     super();&lt;br /&gt;
     thread = new Thread(this);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   public void run() {&lt;br /&gt;
     // Traitement du thread&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Contrôle du thread ==&lt;br /&gt;
La classe [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html java.lang.Thread] met à disposition des méthodes permettant de contrôler le thread.&lt;br /&gt;
* Pour démarrer le thread:&lt;br /&gt;
 public void start();&lt;br /&gt;
* Pour arrêter définitivement le thread:&lt;br /&gt;
 public void stop();&lt;br /&gt;
* Pour arrêter temporairement le thread:&lt;br /&gt;
 public void suspend();&lt;br /&gt;
* Pour reprendre l'exécution du thread:&lt;br /&gt;
 public void resume();&lt;br /&gt;
* Pour fixer la priorité du thread:&lt;br /&gt;
 public void setPriority(int newPriority);&lt;br /&gt;
&lt;br /&gt;
== Utilisation des sémaphores ==&lt;br /&gt;
Il est de temps en temps utile de synchoniser les threads entre eux. Dans la plupart des cas, on utilise des blocs '''synchronized'''. Mais parfois ça ne suffit plus: il faut utiliser les sémaphores.&lt;br /&gt;
&lt;br /&gt;
Pour créer un sémaphore (classe [http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html java.util.concurrent.Semaphore]):&lt;br /&gt;
 private final Semaphore mySemaphore = new Semaphore (0, true);&lt;br /&gt;
&lt;br /&gt;
Pour attendre un autre thread:&lt;br /&gt;
 this.mySemaphore.acquire ();&lt;br /&gt;
&lt;br /&gt;
Pour débloquer l'attente (appelé par l'autre thread):&lt;br /&gt;
 this.mySemaphore.release ();&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>