Après recherche voici comment exécuter un thread via QtConcurrent :
package myQtConcurrent;
import com.trolltech.qt.core.QtConcurrent;
import java.lang.reflect.Method;
public class ExempleQtConcurrent
{
/*
* Code de la classe
*/
public void maFonctionDansUnThread( int monArgInt )
{
/*
* Code a executer dans le thread
*/
}
public void lancerLeThread() throws NoSuchMethodException
{
Object ObjetDansLequelSeTrouveLaMethode = this;
// Recuperation de la methode a lancer.
// Attention celle-ci doit etre public
Class classDeLArgumentDeLaMethode = int.class;
Method method = this.getClass().getMethod( "maFonctionDansUnThread", classDeLArgumentDeLaMethode );
int monArg = 12;
QtConcurrent.runVoidMethod( this, method, monArg );
}
}
En faite, le pointeur de fonction utilisé par le C++
est remplacé par la réflexivité en Java.
Voici pour ceux que cela intéresserait...
QtConcurrent - Principe d'utilisation
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.