J'ai besoin de démarrer un processus d'analyse en cliquant sur un bouton si j'écris à l'intérieur onclick les autres onglets ne peuvent être accessibles jusqu'à ce que le processus s'arrête je dois exécuter le processus en arrière-plan. en javacomment exécuter un grand processus en Java sur un bouton cliquez sur
Répondre
Appeler un autre fil à l'intérieur du "sur clic" callback, comme ceci:
Thread t = new Thread(new Runnable() {
public void run() {
// your code
}
});
t.start();
Si vous utilisez swing alors que cela pourrait être utile
http://download.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html
Il ne s'agit pas du tout d'un développement de bureau de type Swing, il y a un tag "zk" pour le framework ZK - basé sur le Web. S'il vous plaît prêter attention à la question. Et le swing ne serait pas accessible si vous déployez sur google apps cloud platform, mais zk pourrait être utilisé ici. –
Vous pouvez utiliser package "simultané" de Java 5:
java.util.concurrent package summary
et, en particulier, pool de threads. Ce serait plus robuste, car si vous ne pouviez pas gérer la terminaison de thread correctement ou si vous la laissiez parfois en vie, vous pourriez avoir une fuite de ressources.
est-il possible d'arrêter ce thread en re cliquant sur ce bouton – raj
Non. Voir ici http://www.devx.com/tips/Tip/31728. Lorsque vous rencontrerez un comportement bizarre, lisez tout sur la synchronisation. – raoulsson