Bonjour,

Dans mon appli, je dois utiliser une dll fournie par un partenaire. J'ai donc utilisé JNI, et codé ma dll wrapper.

Mon problème est qu'en fait dans mon programme, j'ai cette structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
1er Thread Java {
   Accés à la dll => création d une arborescence sous Java
   Récupération du noeud sélectionné
   2nd Thread Java {
      Accés à la dll => récupération des données relatives au noeud sélectionné
   }
}
Le problème est que j'ai des crash dû à l'imbrication des threads : "La mémoire ne peut pas être 'read'."
Les méthodes de la dll accèdent à un fichier et récupèrent des données dans ce fichier.
J'ai testé plusieurs modes de relecture, et à un moment ou à un autre, j'ai un crash (dépend des manip, de l'imbrication des threads ou du système d'exploitation).
Si j'enlève les Threads, je n'ai plus de problème.

Est-il possible de combiner threads Java et JNI ?
Est-ce qu'il faut faire quelque chose de particulier pour que cela fonctionne correctement ? (mutex, ou autre)